Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Wireless, ground link-based aircraft data communication system with roaming feature
Patent Number: 7,426,387 Issued on 09/16/2008 to Wright,   et al.

Title: Beam laydown for hopped satellite downlink with adaptable duty cycle
Patent Number: 7,426,386 Issued on 09/16/2008 to Yousefi,   et al.

Title: Communication device and method for communicating over a digital mobile network
Patent Number: 7,426,385 Issued on 09/16/2008 to Mortensen,   et al.

Title: Network communication system including a database of codes and corresponding telephone numbers
Patent Number: 7,426,384 Issued on 09/16/2008 to Murray,   et al.

Title: Wireless LAN intrusion detection based on location
Patent Number: 7,426,383 Issued on 09/16/2008 to Wang,   et al.

Title: Contact validation and trusted contact updating in mobile wireless communications devices
Patent Number: 7,426,382 Issued on 09/16/2008 to Aerrabotu,   et al.

Title: Device billing agent
Patent Number: 7,426,381 Issued on 09/16/2008 to Maes

Title: Location derived presence information
Patent Number: 7,426,380 Issued on 09/16/2008 to Hines,   et al.

Title: Method and system for sound mitigation during initiation of a packet-based real-time media session
Patent Number: 7,426,379 Issued on 09/16/2008 to Stewart,   et al.

Title: Separation of cochannel FM signals
Patent Number: 7,426,378 Issued on 09/16/2008 to Stanners

Title: Sigma delta (.SIGMA..DELTA.) transmitter circuits and transceiver using the same
Patent Number: 7,426,377 Issued on 09/16/2008 to Tanaka,   et al.

Title: Receiver having digital automatic gain control
Patent Number: 7,426,376 Issued on 09/16/2008 to Srinivasan,   et al.

Title: Combination of high-side and low-side current sensing in system for providing power over communication link
Patent Number: 7,426,374 Issued on 09/16/2008 to Dwelley,   et al.

Title: Electrically tuned resonance circuit using piezo and magnetostrictive materials
Patent Number: 7,426,373 Issued on 09/16/2008 to Clingman,   et al.

Title: Piecewise linearizer circuit for radio frequency amplification
Patent Number: 7,426,372 Issued on 09/16/2008 to Quilligan

Title: Radio communication quality measuring apparatus, radio communication quality measuring method and radio base station
Patent Number: 7,426,370 Issued on 09/16/2008 to Nakao,   et al.

Title: Bluetooth appliance having non-memory programmable identification address storing device and telecommunication method thereof
Patent Number: 7,426,369 Issued on 09/16/2008 to Lee

Title: Satellite broadcasting converter, control circuit incorporated therein, and detector circuit used in such control circuit
Patent Number: 7,426,368 Issued on 09/16/2008 to Hirai

Title: Sheet processing apparatus and image forming apparatus
Patent Number: 7,426,367 Issued on 09/16/2008 to Hirai

Title: Image forming apparatus and paper ejection method of image forming apparatus
Patent Number: 7,426,366 Issued on 09/16/2008 to Shishikura

Title: Waste toner collecting apparatus and image forming apparatus
Patent Number: 7,426,365 Issued on 09/16/2008 to Uchihashi

Title: Fixing method, fixing device, and image forming apparatus
Patent Number: 7,426,364 Issued on 09/16/2008 to Kagawa,   et al.

Title: Developer supply container with shutter movement prevention feature
Patent Number: 7,426,363 Issued on 09/16/2008 to Murakami,   et al.

Title: Conveyor device and image forming apparatus
Patent Number: 7,426,362 Issued on 09/16/2008 to Takami

Title: Developer mixing apparatus having four ribbon blenders
Patent Number: 7,426,361 Issued on 09/16/2008 to Thompson,   et al.

Title: Developing apparatus
Patent Number: 7,426,360 Issued on 09/16/2008 to Arimoto,   et al.

Title: Color image forming device having a movable toner supply member being disposable in a laser light path
Patent Number: 7,426,359 Issued on 09/16/2008 to Tanda

Title: Image forming apparatus and method having a cleanerless image forming unit
Patent Number: 7,426,358 Issued on 09/16/2008 to Yoshida,   et al.

Title: Fixing unit and image forming apparatus equipped with the fixing unit
Patent Number: 7,426,357 Issued on 09/16/2008 to Mori

Title: Developer cartridge, print process cartridge, and image forming apparatus
Patent Number: 7,426,356 Issued on 09/16/2008 to Ota

Title: Tandem photosensitive-member unit having grip part
Patent Number: 7,426,355 Issued on 09/16/2008 to Okabe

Title: Image forming device and process cartridge
Patent Number: 7,426,354 Issued on 09/16/2008 to Ozawa,   et al.

Title: Image forming apparatus with variable convey speed control between transfer device and fixing device
Patent Number: 7,426,353 Issued on 09/16/2008 to Sakakibara

Title: Image formation apparatus
Patent Number: 7,426,352 Issued on 09/16/2008 to Moriyama,   et al.

Title: Image forming apparatus and layer thickness calculating method
Patent Number: 7,426,351 Issued on 09/16/2008 to Yamaguchi,   et al.

Title: Mass flowmeter and method for correcting the measurement signal of a mass flowmeter
Patent Number: 6,889,561 Issued on 05/10/2005 to Hussain,   et al.

Title: Method and device for generating an air stream in a duplicating machine
Patent Number: 6,889,609 Issued on 05/10/2005 to Braun,   et al.

Title: Low operating pressure gas scrubber
Patent Number: 6,893,484 Issued on 05/17/2005 to Thomas

Title: Process for the production of grain oriented electrical steel strips
Patent Number: 6,893,510 Issued on 05/17/2005 to Fortunati,   et al.

Title: Antidepressant drugs and methods
Patent Number: 6,759,435 Issued on 07/06/2004 to Chen

Title: Method of manufacturing a semiconductor device with self-aligned contacts
Patent Number: 7,151,025 Issued on 12/19/2006 to Itabashi,   et al.

Title: Method and apparatus for adjusting power control setpoint in a wireless communication system
Patent Number: 6,763,244 Issued on 07/13/2004 to Chen,   et al.

Title: LNG production in cryogenic natural gas processing plants
Patent Number: 6,889,523 Issued on 05/10/2005 to Wilkinson,   et al.

Title: Game calling device
Patent Number: 7,145,067 Issued on 12/05/2006 to Pfortmiller,   et al.

Title: Fiber optic connector and method
Patent Number: 7,147,385 Issued on 12/12/2006 to Zimmel,   et al.

Title: System and method of adaptively reconfiguring buffers
Patent Number: 7,143,263 Issued on 11/28/2006 to Anand,   et al.

Title: Semiconductor device and method for manufacturing the same
Patent Number: 7,151,034 Issued on 12/19/2006 to Lee,   et al.

Title: Laser assisted magnetic recording apparatus and method
Patent Number: 6,762,977 Issued on 07/13/2004 to Gage,   et al.

Title: Disposal of cement waste from chute
Patent Number: 7,147,360 Issued on 12/12/2006 to Elefsrud

Title: Semiconductor memory device having a circuit for fast operation
Patent Number: 6,762,967 Issued on 07/13/2004 to Tanizaki,   et al.

Title: Method of manufacturing semiconductor device
Patent Number: 7,151,017 Issued on 12/19/2006 to Ohnuma

Title: Semiconductor wafer test system
Patent Number: 7,151,003 Issued on 12/19/2006 to Oishi

Title: Patient support pad with repositionable pressure source
Patent Number: 7,146,660 Issued on 12/12/2006 to Heimbrock

Title: Digital broadcast receiving device
Patent Number: 7,146,633 Issued on 12/05/2006 to Yamaguchi,   et al.

Title: Multi-site cardiac stimulation device and method for detecting retrograde conduction
Patent Number: 7,146,215 Issued on 12/05/2006 to Mo

Title: Funnel in cathode ray tube
Patent Number: 6,765,343 Issued on 07/20/2004 to Kim

Title: Open hydraulic circuit including a relief valve device
Patent Number: 7,150,150 Issued on 12/19/2006 to Bigo,   et al.

Title: System for and method of toner flow control
Patent Number: 6,760,555 Issued on 07/06/2004 to Dougherty,   et al.

Title: Semiconductor filter circuit and method
Patent Number: 6,953,980 Issued on 10/11/2005 to Escoffier,   et al.

Title: Gas turbine engine
Patent Number: 7,153,091 Issued on 12/26/2006 to Stephenson,   et al.

Title: Modular air conditioner for a bus
Patent Number: 6,761,038 Issued on 07/13/2004 to Bushnell,   et al.

Title: Method for fabricating electrical connection structure of circuit board
Patent Number: 7,151,050 Issued on 12/19/2006 to Hsu,   et al.

Title: Water heater having self-powered low NOx burner/fuel-air delivery system
Patent Number: 6,761,134 Issued on 07/13/2004 to Trant

Title: Satellite broadcast receiving converter with lower power consumption
Patent Number: 7,136,618 Issued on 11/14/2006 to Kato,   et al.

Title: Apparatus and method for managing power of a battery
Patent Number: 6,765,369 Issued on 07/20/2004 to Rhee,   et al.

Title: Pneumatic surgical prone head support and system
Patent Number: 7,146,664 Issued on 12/12/2006 to Grosvenor

Title: Semiconductor device with flexible redundancy system
Patent Number: 6,762,964 Issued on 07/13/2004 to Takase

Title: Hydraulic actuator having disc valve assembly
Patent Number: 7,143,684 Issued on 12/05/2006 to Dourson,   et al.

Title: Method of manufacturing thin-film magnetic head
Patent Number: 7,155,809 Issued on 01/02/2007 to Sasaki,   et al.

Title: Fire extinguisher kit, device and method of using same
Patent Number: 7,147,061 Issued on 12/12/2006 to Tsutaoka,   et al.

Title: On-line system and method for processing information relating to the wear of turbine components
Patent Number: 7,149,632 Issued on 12/12/2006 to Gao,   et al.

Title: Control of software via bundling
Patent Number: 7,158,248 Issued on 01/02/2007 to Smith,   et al.

Title: Cardiac harness for treating congestive heart failure and for defibrillating and/or pacing/sensing
Patent Number: 7,149,588 Issued on 12/12/2006 to Lau,   et al.

Title: Fabrication apparatus for an assembly of vanes for an architectural covering
Patent Number: 7,146,694 Issued on 12/12/2006 to Colson,   et al.

Title: System and method for automated play of lottery games
Patent Number: 6,964,611 Issued on 11/15/2005 to Packes, Jr.,   et al.

Method, system, computer program product, and article of manufacture for downloading a remote computer program according to a stored configuration Number:7,089,553 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Greek, Cypriot Leaders Resume Unification Talks in Nicosia by Nathan Morley
     Indonesia Tobacco Sales Grow, Raising Health Fears
     South Korea Allows Top Defector to Travel Overseas by VOA News

Title: Method, system, computer program product, and article of manufacture for downloading a remote computer program according to a stored configuration

Abstract: A configuration of an application program corresponding to a particular user of the local application is defined and stored on a remote server. In response to the user requesting the application program, a session is initiated between the local data processing system and the remote data processing system, and the user is authenticated. Responsive to the user authentication, data is downloaded from the remote server to the local data processing system according to the stored configuration. This stored configuration may be encrypted and stored in a manifest file which is decrypted to produce a decrypted configuration in response to the user authentication, and data may be downloaded from the remote data processing system to the local data processing system according to the decrypted configuration. The application program may be constructed pursuant to the configuration file or the decrypted configuration file.

Patent Number: 7,089,553 Issued on 08/08/2006 to Glaser,   et al.


Inventors: Glaser; Howard J. (San Jose, CA), England; Laurence E. (Morgan Hill, CA), Poole; Rebecca Lau (San Jose, CA), Xia; Chenhong (San Jose, CA)
Assignee: International Business Machines Corporation (Armonk, NY)
Appl. No.: 09/687,414
Filed: October 12, 2000


Current U.S. Class: 717/178 ; 709/223; 713/182; 713/189; 717/168
Current International Class: G06F 9/445 (20060101); G06F 11/30 (20060101); G06F 15/173 (20060101); H04K 1/00 (20060101)
Field of Search: 717/168-178 713/155,161,164-165,168,170,182,185,189,191,193-202 709/220,223-225


References Cited [Referenced By]

U.S. Patent Documents
5339433 August 1994 Frid-Nielsen
5432903 July 1995 Frid-Nielsen
5530749 June 1996 Easter et al.
5530753 June 1996 Easter et al.
5550976 August 1996 Henderson et al.
5557730 September 1996 Frid-Nielsen
5586328 December 1996 Caron et al.
5611043 March 1997 Even et al.
5612884 March 1997 Haines
5642417 June 1997 Stringer
5673390 September 1997 Mueller
5680542 October 1997 Mulchandani et al.
5740444 April 1998 Frid-Nielsen
5742829 April 1998 Davis et al.
5850517 December 1998 Verkler et al.
5894515 April 1999 Hsu
5894571 April 1999 O'Connor
5933646 August 1999 Hendrickson et al.
5956408 September 1999 Arnold
5982899 November 1999 Probst
6044217 March 2000 Brealey et al.
6052531 April 2000 Waldin et al.
6058264 May 2000 Glaser
6061517 May 2000 House et al.
6064977 May 2000 Haverstock et al.
6069627 May 2000 Conrad et al.
6080207 June 2000 Kroening et al.
6161139 December 2000 Win et al.
6205476 March 2001 Hayes, Jr.
6262726 July 2001 Stedman et al.
6314565 November 2001 Kenner et al.
6327705 December 2001 Larsson et al.
6351813 February 2002 Mooney et al.
6604238 August 2003 Lim et al.

Other References

Neves, Rich, Groupware-Lotus Notes/Domino 5.0 Takes Groupware Battlee to Next Level: Lotus, Computer Reseller News, Dec. 21, 1998, p. 96(1). cited by other .
Gardner, Dana, App Dev 's Next Chapter: Technologies are Converging to Set Off a Golden Era, InfoWorld, Mar. 1, 1991, v21, 19 p1(1). cited by other.

Primary Examiner: Nguyen-Ba; Antony
Attorney, Agent or Firm: Victor; David W. Konrad Raynes & Victor LLP

Claims



We claim:

1. An article of manufacture for use in a data processing system for downloading an application program from a remote data processing system for execution by a particular user on a local data processing system, said data processing system comprising the local data processing system and the remote data processing system, said article of manufacture comprising remote code executed by the remote data processing system and local code executed by the local data processing system to cause operations to be performed, the operations comprising: defining and storing, by the remote code, a user configuration of the application program corresponding to the particular user of the application program; encrypting and storing, by the remote code, the user configuration in a manifest file; initiating, by the remote code, a session between the local data processing system and the remote data processing system in response to the particular user requesting the application program; performing a first authentication, by the remote code, of the particular user in response to the particular user requesting the application program; performing, by the local code, a local logon to perform a second authentication of the particular user; decrypting, by the local code, the manifest file to produce a decrypted user configuration in response to the second authentication; and responsive to the second authentication, downloading, by the local code, data from the remote data processing system to the local data processing system according to the decrypted user configuration.

2. The article of manufacture of claim 1, wherein the manifest file is stored on the remote data processing system, wherein the executed local code further causes operations comprising: downloading the manifest file from the remote data processing system to the local data processing system in response to the first authentication.

3. The article of manufacture of claim 1 wherein the local code further causes operations comprising: building the application program pursuant to the user configuration decrypted from the manifest file responsive to the second authentication.

4. The article of manufacture of claim 3, wherein the second authentication is performed responsive to the particular user requesting a build of the application program.

5. The article of manufacture of claim 1 wherein the user configuration comprises data describing the particular user, the particular user's application program configuration, and resources for which the particular user is authorized.

6. A method of downloading an application program from a remote data processing system for execution by a particular user on a local data processing system, said method comprising: defining and storing a user configuration of the application program corresponding to the particular user of the application program; encrypting and storing the user configuration in a manifest file; initiating a session between the local data processing system and the remote data processing system in response to the particular user requesting the application program; performing a first authentication of the particular user in response to the particular user requesting the application program; performing a local logon to perform a second authentication of the particular user decrypting the manifest file to produce a decrypted user configuration in response to the second authentication; and responsive to the user authentication, downloading data from the remote data processing system to the local data processing system according to the decrypted user configuration.

7. The method of claim 6, wherein the manifest file is stored on the remote data processing system, further comprising: downloading the manifest file from the remote data processing system to the local data processing system in response to the first authentication.

8. The method of claim 6 further comprising: building the application program pursuant to the user configuration decrypted from the manifest file responsive to the second authentication.

9. The method of claim 8, wherein the second authentication is performed responsive to the particular user requesting a build of the application program.

10. The method of claim 6 wherein the user configuration comprises data describing the particular user, the particular user's application program configuration, and resources for which the particular user is authorized.

11. A computer system for use in a data processing system for downloading an application program for execution by a particular user comprising: (a) a remote data processing system including: (i) a stored user configuration of the application program corresponding to the particular user of the application program; (ii) a manifest file comprising an encrypted user configuration; (b) a local data processing system in communication with the remote data processing system; (c) remote code executed by the remote data processing system to cause operations to be performed, the operations comprising: (i) establishing a session between the local data processing system and the remote data processing system in response to the particular user requesting the application program; (ii) performing a first authentication of the particular user in response to the particular user requesting the application program; (d) local code executed by the local data processing system to cause operations to be performed, the operations comprising: (i) performing a local logon to perform a second authentication of the particular user; (ii) decrypting the manifest file in response to the second authentication; and (iii) downloading data from the remote data processing system to the local data processing system according to the decrypted user configuration.

12. The computer system of claim 11, wherein the manifest file is stored on the remote data processing system and comprises an encrypted user configuration, wherein the operations of the local code further comprise: downloading the manifest file from the remote data processing system to the local data processing system in response to the first authentication.

13. The computer system of claim 11 wherein the operations of the local code further comprise: building the application program pursuant to the user configuration decrypted from the manifest file responsive to the second authentication.

14. The computer system of claim 13 wherein the second authentication is performed responsive to the particular user requesting a build of the application program.

15. The computer system of claim 11 wherein the user configuration comprises data describing the particular user, the particular user's application program configuration, and resources for which the particular user is authorized.
Description



CROSS-REFERENCE TO RELATED APPLICATIONS

Application Ser. No. 09/687,033, filed concurrently herewith on Oct. 12, 2000 for METHOD, SYSTEM, COMPUTER PROGRAM PRODUCT, AND ARTICLE OF MANUFACTURE FOR INSTALLATION AND CONFIGURATION OF A COMPUTER PROGRAM ACCORDING TO A STORED CONFIGURATION, currently co-pending, and assigned to the same assignee as the present invention; and

Application Ser. No. 09/687,412, filed concurrently herewith on Oct. 12, 2000 for METHOD, SYSTEM, COMPUTER PROGRAM PRODUCT, AND ARTICLE OF MANUFACTURE FOR UPDATING A COMPUTER PROGRAM ACCORDING TO A STORED CONFIGURATION, currently co-pending, and assigned to the same assignee as the present invention.

The foregoing co-pending applications are incorporated herein by reference.

A portion of the Disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates in general to computer programs, and more particularly to a downloading of a computer program.

2. Description of the Related Art

Customers and providers may have a number of requirements in installing or deploying an application program.

Customers may prefer to remotely install application program clients from a central server(s) in order to increase both installation productivity and maintenance productivity. Thin clients may be preferred as thin clients generally require less workstation customization, perhaps as little as a browser with the appropriate option settings and plugins. Preferably, users should be able to move between different workstations, and still be able to access their tools and data, another potential advantage of a thin client. A customer may prefer to control which application programs and which versions of the application programs are available to a particular user. In addition to controlling the application programs, a customer may wish to control access to resources and assets based upon a user's responsibilities and roles in an organization. Alternatively, the customer may wish to control and filter project work views based on the user's responsibilities and roles. In addition to such central control, the customer may want an inventory of the application programs (including versions) installed and used on a workstation or a group of workstations without the need to go to each user workstation.

An application program provider may also have a number of similar requirements in installing or deploying an application program. The provider may also want for licensing purposes the inventory of the application programs (including versions) installed and used on a workstation or a group of workstations without the need to go to each user workstation. To satisfy a customer's specific individual requirements, the provider would prefer a mechanism for configuring the application program to support a customer solution which may be tailored by the customer to suit the customers needs, such as role-based views.

Conventional systems and methods have failed to provide all of the above advantages. Thus, there is a clearly felt need for a method, system, article of manufacture, and computer program product for providing application program downloading with the advantages.

SUMMARY OF THE INVENTION

The present invention comprises a method, system, article of manufacture, and a computer program product for downloading an application program. A configuration of the application program corresponding to a particular user of the local application is defined and stored on a remote server. In response to the user requesting the application program, a session is initiated between the local data processing system and the remote data processing system, and the user is authenticated. Responsive to the user authentication, data is downloaded from the remote server to the local data processing system according to the stored configuration. This stored configuration also may be encrypted and stored in a manifest file which is decrypted to produce a decrypted configuration in response to the user authentication. Data may then be downloaded from the remote data processing system to the local data processing system according to the decrypted configuration. The application program may be constructed pursuant to the configuration file or the decrypted configuration file.

One aspect of a preferred embodiment of the present invention defines a configuration of an application program corresponding to a particular user of the application program.

Another aspect of a preferred embodiment of the present invention stores the configuration on a remote server executing on a remote data processing system.

Another aspect of a preferred embodiment of the present invention initiates a session between the local data processing system and the remote data processing system in response to the user requesting the application program.

Another aspect of a preferred embodiment of the present invention authenticates the user in response to the user request.

Another aspect of a preferred embodiment of the present invention determines that the stored configuration corresponds to the requesting user.

Another aspect of a preferred embodiment of the present invention downloads data from the remote data processing system to the local data processing system according to the stored configuration.

Another aspect of a preferred embodiment of the present invention encrypts the stored configuration into a manifest file.

Another aspect of a preferred embodiment of the present invention downloads the manifest file from the remote data processing system to the local data processing system.

Another aspect of a preferred embodiment of the present invention decrypts the manifest file in response to the user authentication.

Another aspect of a preferred embodiment of the present invention builds the application program pursuant to the configuration decrypted from the manifest file.

Another aspect of a preferred embodiment of the present invention authenticates the user in response to the user requesting a build of the application program.

The present invention has the advantage of providing improved downloading of a computer program.

The present invention has the further advantage of providing a download of an application program client from a central server(s) in order to increase installation productivity and maintenance productivity.

The present invention has the further advantage of providing control over which application programs and which versions of the application programs are downloadable to a particular user.

The present invention has the further advantage of providing an inventory of the application programs (including versions) downloaded to a workstation or a group of workstations without the need to go to each user workstation.

The present invention has the further advantage of providing for licensing purposes the inventory of the application programs (including versions) downloaded to a workstation or a group of workstations without the need to go to each user workstation.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and the advantages thereof, reference is now made to the Description of the Preferred Embodiment in conjunction with the attached Drawings, in which:

FIG. 1 is a block diagram of a distributed computer system used in performing the method of the present invention, forming part of the apparatus of the present invention, and which may use the computer program product and article of manufacture comprising a computer-readable storage medium having a computer program embodied in said medium which may cause the computer system to practice the present invention;

FIG. 2 is a block diagram of an application server and a user workstation preferred in carrying out a preferred embodiment of the present invention; and

FIG. 3 and FIG. 4 are flowcharts of method steps preferred in carrying out a preferred embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

An embodiment of the invention is now described with reference to the figures where like reference numbers indicate identical or functionally similar elements. Also in the figures, the left most digit of each reference number corresponds to the figure in which the reference number is first used. While specific configurations and arrangements are discussed, it should be understood that this is done for illustrative purposes only. A person skilled in the relevant art will recognize that other configurations and arrangements can be used without departing from the spirit and scope of the invention. It will be apparent to a person skilled in the relevant art that this invention can also be employed in a variety of other devices and applications.

With reference now to the figures, and in particular with reference to FIG. 1, there is depicted a pictorial representation of a distributed computer system 8 which may be utilized to implement the method of, system for, article of manufacture, and computer program product of the present invention. As may be seen, distributed computer system 8 may include a plurality of networks 10 and 32, which may be Local Area Networks (LAN), intranet networks, or internet networks, each of which preferably includes a plurality of individual computers 12 and 30, respectively. Of course, those skilled in the art will appreciate that a plurality of Intelligent Work Stations (IWS) coupled to a host processor may be utilized for each such network.

As is common in such data processing systems, each individual computer may be coupled to a storage device 14 and/or a printer/output device 16. One or more such storage devices 14 may be utilized, in accordance with the present invention, to store the various computer programs which may be accessed and executed by a user within the distributed computer system 8, in accordance with the present invention. In a manner well known in the prior art, each such computer program may be stored within a storage device 14.

Still referring to FIG. 1, it may be seen that distributed computer system 8 may also include multiple mainframe computers, such as mainframe computer 18, which may be preferably coupled to Local Area Network 10 by means of communication link 22. Mainframe computer 18 may also be coupled to a storage device 20 which may serve as remote storage for Local Area Network 10 which may be coupled via communications controller 26 and communications link 34 to a gateway server 28. Gateway server 28 is preferably an individual computer or Intelligent Work Station which serves to link Local Area Network 32 to Local Area Network 10.

As discussed above with respect to Local Area Network 32 and Local Area Network 10, a plurality of server computer programs may be stored within storage device 20 and executed by mainframe computer 18. Similarly, a plurality of client computer programs may be stored within storage devices 14 and executed by individual computers 12 such that distributed client/server computer programs are provided. Of course, those skilled in the art will appreciate that the mainframe computer 18 may be located a great geographical distance from Local Area Network 10, and similarly, Local Area Network 10 may be located a substantial distance from Local Area Network 32. That is, Local Area Network 32 may be located in California while Local Area Network 10 may be located within Texas and mainframe computer 18 may be located in New York.

As will be appreciated upon reference to the foregoing, it is desirable for a user of a workstation 12 to be able to remotely install an application program from server 18. A configuration of the application program corresponding to this particular user of the application program is defined and stored on a remote storage 20 of the remote server 18. In response to a user request communicated from the user workstation 12 to the server 18 via LAN 10 and communications link 22, the server 18 determines that the configuration stored on storage 20 corresponds to the requesting user. Server 18 authenticates the user, and after such authentication, data is downloaded to the workstation 12 from the remote server 18 according to the stored configuration. This stored configuration is also encrypted and stored in a manifest file which is also downloaded. Responsive to the user authentication, the manifest file is decrypted, and the application program is constructed, configured, and installed on workstation 12 pursuant to the configuration decrypted from the manifest file. The user may also move from a first workstation 12 on which the application program is installed to a different second workstation 12 on LAN 10 and still be able to access the user's tools and data which may be downloaded and installed on the second workstation 12 in a similar fashion to the download and installation on the first workstation 12. Using the user configurations and authentications stored on storage 20 and the server 18, a customer may control the application programs, the versions of these application programs, and resources that are available to the particular user.

The customer may also inventory the application programs (including versions) installed and used on a workstation 12 or a group of workstations 12 on LAN 10 without the need to go to each user workstation. An application program provider may also want for licensing purposes such an inventory which may be produced by customer's server 18 or the provider's server 26.

Referring now to FIG. 2, a block diagram of a preferred embodiment of the present invention is illustrated. A file known as a manifest file or manifest 244 provides a description as to which plugins, configurations, and other resources should be loaded when an application program, such as an Integrated Development Environment (IDE), is initialized. Although the preferred embodiment is presented in the context of an IDE, those skilled in the art will recognize that the invention may be practiced with other types of application programs. The preferred embodiment uses this manifest to provide a mechanism for plugging in tools or components to provide a customized application program with the appropriate viewers, editors, browsers, and other resources to support the user's needs. For example, a customized IDE may be provided with the appropriate viewers, editors, and browsers to support a specific developer's needs. Furthermore, the preferred embodiment allows remote customization and configuration of the application program for an individual user based on the user's role and responsibility in an organization.

The preferred embodiment of the present invention comprises an application server 202, which may be behind a web server, that is used to define users 204, 206, and 208 in a user table 210 and to define the users' application program configurations (214, 216, and 218) in a user IDE configuration table 220. This configuration may include plugins 222 to be downloaded, user authorizations for each user 224, templates for builds 226 (pre packaged site JCL), location/configuration of site servers 228, other information 230 such as the location and configuration of system input/output (I/O), and any site specific documentation 232 which may be shown in a browser or plugin.

A security system 234, such as a certificate or simple a logon dialog, may be used by a user to initiate a session 236 with the server 262. Upon authentication of the user by the security system 234, a table lookup of the user table 210 is performed and plugins 222, authorizations 224, templates 226, server information 228, and documentation 232 are aggregated into the user's components 238 which are downloaded via the download 240 to the user's workstation 242. In addition, a manifest 244 is created with this configuration information. This manifest 244 is encrypted and requires authentication from a security system 246 on the workstation 242 to be decrypted and used to build 248 an application program 250.

After the download 240 to the user's workstation 242, the user through a local logon in the security system 246 invokes the decryption and use of the manifest 244 to build 248 the user's personalized application program 250. Meanwhile a request may be sent, preferably unknown to the user, to the server 202 to check a component configuration table 252 maintained in the application server 202 to determine if any items have been updated. Alternatively, a request may be sent to the server 202 to record in a components inventory 254 which tools are being used by the user.

Referring now to FIGS. 3 and 4, the flowcharts 300 and 400 illustrate the operations preferred in carrying out the preferred embodiment of the present invention. In the flowcharts, the graphical conventions of a diamond for a test or decision and a rectangle for a process or function are used. These conventions are well understood by those skilled in the art, and the flowcharts are sufficient to enable one of ordinary skill to write code in any suitable computer programming language.

After the start 305 of the process 300, process block 310 defines a configuration of the application corresponding to a particular user 206 of the application, such as user 2, and process block 315 then stores the configuration 216 on a remote server 202 executing on a remote data processing system 18. Alternatively, the configuration 216 may be stored on local data processing system 242. Thereafter, process block 320 may initiate a session between the local data processing system 242 and the application server 202 on remote data processing system 18 in response to the user 206 requesting the application. Responsive to this user request, process block 325 authenticates the user 206, and process block 330 then determines that the stored configuration 216 corresponds to the requesting user 206. Process block 335 then downloads data 240 from the remote data processing system 202 to the local data processing system 242 according to the stored configuration 216. Alternatively, process block 335 may access the data 240 from the local data processing system 242 or from another resource within the distributed computer system 8 according to the stored configuration 216. Thereafter, processing continues to decision block 450 on FIG. 4. This processing path is illustrated by flowchart connectors A, 340 on FIGS. 3 and 445 on FIG. 4. Process block 450 encrypts the stored configuration 216 into a manifest file 244 which is then downloaded by process block 455 from the remote data processing system 202 to the local data processing system 242. Alternatively, process block 450 may encrypt the stored configuration 216 into a manifest file 244 which is then stored on the local data processing system 242. After the download 240 of the manifest file 244 and the components 238 to the user workstation 242, the user 206 may request a build 248 of the downloaded components 238 pursuant to the configuration in the manifest file 244. Responsive to such a user request, the user is authenticated by process block 460, and if the user 206 is authenticated, then process block 465 decrypts the manifest file 244. Thereafter, process block 470 builds, installs, and configures the application program 250 pursuant to the configuration decrypted from the manifest file 244. The process then ends at process block 475.

In an alternative embodiment of the present invention, an application program is updated for execution on the data processing system. In this alternative embodiment, process block 330 also determines if any items described in the configuration have been updated. If an item has been updated, then process block 335 retrieves the updated item, and process block 470 builds the application program with the updated item.

In still another alternative embodiment of the present invention, an application program is updated for execution on the data processing system based upon determining if any items described in the decrypted configuration have been updated. In this alternative embodiment, process block 465 also determines if any items described in the decrypted configuration have been updated. If an item has been updated, then process block 470 retrieves the updated item and builds the application program with the updated item.

Using the foregoing specification, the invention may be implemented using standard programming and/or engineering techniques using computer programming software, firmware, hardware or any combination or sub-combination thereof. Any such resulting program(s), having computer readable program code means, may be embodied within one or more computer usable media such as fixed (hard) drives, disk, diskettes, optical disks, magnetic tape, semiconductor memories such as Read-Only Memory (ROM), Programmable Read-Only Memory (PROM), etc., or any memory or transmitting device, thereby making a computer program product, i.e., an article of manufacture, according to the invention. The article of manufacture containing the computer programming code may be made and/or used by executing the code directly or indirectly from one medium, by copying the code from one medium to another medium, or by transmitting the code over a network. An apparatus for making, using, or selling the invention may be one or more processing systems including, but not limited to, central processing unit (CPU), memory, storage devices, communication links, communication devices, servers, input/output (I/O) devices, or any sub-components or individual parts of one or more processing systems, including software, firmware, hardware or any combination or sub-combination thereof, which embody the invention as set forth in the claims. User input may be received from the keyboard, mouse, pen, voice, touch screen, or any other means by which a human can input data to a computer, including through other programs such as application programs, databases, data sets, or files.

One skilled in the art of computer science will easily be able to combine the software created as described with appropriate general purpose or special purpose computer hardware to create a computer system and/or computer sub-components embodying the invention and to create a computer system and/or computer sub-components for carrying out the method of the invention. Although the present invention has been particularly shown and described with reference to a preferred embodiment, it should be apparent that modifications and adaptations to that embodiment may occur to one skilled in the art without departing from the spirit or scope of the present invention as set forth in the following claims.

*


Free Web Sudoku Puzzles.
Solve with your browser.
  2   8     3   4
  4     9 2      
                 
  8     1   6 5  
  3 6 9   7 4 8  
  9 2   4     3  
                 
      3 6     7  
8   7     4   9  
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!