Useability features in on-line delivery of applications
First Claim
1. A method for controlling access to an application by a client or user, the method comprising:
- a) if identification information is not mapped to an activation key associated with the application, i) identifying the activation key to be sent to the client, based on the application; and
ii) mapping the activation key to the identification information; and
b) sending the activation key to the client.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and computer program products for enhancing useability of on-line delivered applications. Access control is provided by generating and delivering an activation key to a client whenever the client seeks access to an application. A security process, integral to the application, validates the key. With respect to displaying information, a client inserts itself between the application and the renderer. This allows the client to provide information to the renderer for display to the user. In addition, content at a client can be upgraded or downgraded by providing only modified blocks to the client. The client saves blocks that reflect locally updated information. The efficient caching of blocks in persistent memory of a client is also described. Blocks in the client'"'"'s cache are sequenced according to a calculated discard priority that depends on the most recent usage of each block and it'"'"'s frequency of usage. Newly downloaded blocks are cached if space is available. Otherwise, previously cached blocks are discarded based on discard priority until sufficient space is available.
97 Citations
29 Claims
-
1. A method for controlling access to an application by a client or user, the method comprising:
-
a) if identification information is not mapped to an activation key associated with the application, i) identifying the activation key to be sent to the client, based on the application; and
ii) mapping the activation key to the identification information; and
b) sending the activation key to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 11)
-
-
10. A method of utilizing an activation key to indicate authorization to use an application, the method comprising the steps of:
-
a) receiving the activation key, from a vendor server, at a client;
b) storing the activation key locally to the client in a manner determined by the application;
c) executing the application to perform security processing, to determine whether continued use of the application is permitted. - View Dependent Claims (13, 14, 15, 16)
-
-
12. A system for controlling access to an application by a prospective user, comprising:
-
a database that maps an activation key to identification information; and
a vendor server that receives said activation key from said database and sends said activation key to the user.
-
-
17. A system for managing the use of application licenses in an organization, comprising:
-
(a) a database of license keys in a central server;
(b) a client in communication with said database; and
(c) an instance of the application on said client, wherein each instance of the application that is executed on the client gets an unallocated activation key from said central database and registers the key as allocated
-
-
18. A method of upgrading content of an online delivered application, comprising the steps of:
-
(a) creating an upgraded image of the application at an application server, based on the upgraded content of the application;
(b) informing the client of the identity of one or more blocks of the upgraded image that have been changed; and
(c) delivering any changed blocks requested by the client.
-
-
19. A method of upgrading content of an online delivered application at a client, comprising the steps of:
-
(a) copying a file with one or more locally updated blocks from a dynamic cache to a static cache;
(b) deleting the file with one or more locally updated blocks from the dynamic cache;
(c) copying the file with one or more locally updated blocks and any newly locally created files from the static cache to a backup directory;
(d) clearing the static cache;
(e) receiving the identity of one or more blocks of an upgraded image;
(f) for any current block, held in the dynamic cache, that corresponds to an identified upgraded block, deleting the corresponding current block from the primary cache;
(g) loading the locally updated blocks and the newly created blocks from the backup directory to the static cache; and
(h) downloading the identified upgraded blocks to the dynamic cache as necessary. - View Dependent Claims (20)
-
-
21. A system for upgrading client content of an online delivered application, comprising:
-
a dynamic cache at the client that stores one or more current blocks of an image of the application;
a static cache at the client that receives any locally updated files and any locally created new files; and
a backup directory that receives said locally updated files and said new files from said static cache, wherein said dynamic cache receives upgraded blocks of an upgraded image from an application server, said static cache is cleared after said backup directory receives said locally updated files and said new files from said static cache, and said static cache receives said locally updated files and said new files from said backup directory. - View Dependent Claims (22, 23)
-
-
24. A system for overlaying information on an application display, comprising:
-
logic for device creation, such that when said device creation logic is executed, access to an application program interface is retained after said logic for device creation has completed execution;
logic for obtaining a process address, such that execution of said logic for obtaining a process address returns an address corresponding to said logic for device creation; and
logic for a library loading, such that said logic for library loading includes an address corresponding to said logic for a device creation. - View Dependent Claims (25, 26)
-
-
27. A method of overlaying information on an application display, comprising:
-
(a) initializing an information object;
(b) substituting device creation logic for previous device creation logic, wherein said device creation logic retains access to an application programming interface after said device creation logic has completed executing;
(c) substituting logic for obtaining a process address for previous logic for obtaining a process address, wherein said logic for obtaining a process address retains an address corresponding to said device creation logic;
(d) substituting library loading logic for previous library loading logic, wherein said library loading logic includes an address corresponding to said device creation logic; and
(e) rendering said information using a device created and stored by said device creation logic. - View Dependent Claims (28, 29)
-
Specification