Persistent data storage for client computer software programs
First Claim
1. A method of managing data for a computer software program downloaded from a server computer system to a client computer system comprising the steps of:
- creating a data repository within the client computer system to be accessed by the computer software program for storing data without automatic transfer of the data to the server computer system during request/response communications between the client computer system and the server computer system;
creating a URL-based persistent data identifier associated with the data repository; and
granting the computer software program access to the data repository by comparing a URL associated with the computer software program to the URL-based persistent data identifier.
6 Assignments
0 Petitions
Accused Products
Abstract
Persistent data storage for client computer software programs is provided using a repository that enables client computer software programs to store data securely on a client computer system, subsequently retrieve that data, and optionally share the data in a controlled fashion with authorized client computer software programs. The present invention can be used by both trusted and untrusted client computer software programs that either reside locally on the client computer system or are downloaded from a server computer system. A benefit of the present invention is that it allows untrusted applets to have access to persistent storage without compromising the integrity of the client computer system. Since the present invention controls persistent storage space, not the programmer of the client computer software program, the burden of insuring storage integrity and security is removed from the programmer. In addition to basic integrity and security features, the present invention provides automatic data format conversion for client computer software programs reading/writing data in the data repository, a commit operation to force in-memory repository data to disk, and automatic expiration to delete the repository after a predetermined time period. The repository can be pre-limited to a maximum size and shared among multiple client computer software programs.
88 Citations
42 Claims
-
1. A method of managing data for a computer software program downloaded from a server computer system to a client computer system comprising the steps of:
-
creating a data repository within the client computer system to be accessed by the computer software program for storing data without automatic transfer of the data to the server computer system during request/response communications between the client computer system and the server computer system;
creating a URL-based persistent data identifier associated with the data repository; and
granting the computer software program access to the data repository by comparing a URL associated with the computer software program to the URL-based persistent data identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
providing operations on the data repository for setting, getting, removing and committing the data. -
4. The method of claim 3 wherein the operation of getting the data stored in the data repository further comprises:
converting the data from a source data format to a target data format.
-
5. The method of claim 3 wherein the operation of setting the data stored in the data repository further comprises:
converting the data from a source data format to a target data format.
-
6. The method of claim 3 wherein the operation of committing the data repository is performed automatically upon unloading, suspending or terminating the computer software program.
-
7. The method of claim 1 wherein:
-
the persistent data identifier is created from a file stored in a directory of the server computer system; and
access to the data repository is restricted to computer software programs downloaded from the directory on the server computer system.
-
-
8. The method of claim 1 wherein:
-
the persistent data identifier is created from a URL identifying the computer software program; and
access to the data repository is restricted to the computer software program.
-
-
9. The method of claim 1 wherein:
-
the persistent data identifier is created from a procedure defined in the computer software program; and
access to the data repository is restricted to the computer software program.
-
-
10. The method of claim 1 wherein access to the data stored in the data repository is shared among a plurality of computer software programs using the same persistent data identifier.
-
11. The method of claim 1 wherein the persistent data identifier comprises authentication credentials.
-
12. The method of claim 1 wherein the step of creating the data repository further comprises:
supplying a size parameter to limit the amount of storage the data repository is allowed to use, the size parameter being stored in the persistent data identifier.
-
13. The method of claim 1 wherein the step of creating the data repository further comprises:
supplying a comment parameter to associate a comment with the data repository, the comment parameter being stored in the persistent data identifier.
-
14. The method of claim 1 wherein the step of creating the data repository further comprises:
supplying a duration parameter to automatically delete the data upon the expiration of a predefined time limit.
-
15. The method of claim 1 wherein:
the data is defined as any serializable data type.
-
16. The method of claim 1 wherein the data repository is implemented using a file system on the client computer system.
-
17. The method of claim 1 wherein the data repository is implemented using a registry system on the client computer.
-
18. The method of claim 1 wherein:
the data stores preference data for the user of the computer software program executing on the client computer system.
-
19. The method of claim 1 wherein a portion of the data repository is reserved for use by an executive system controlling the execution of the computer software program on the client computer system.
-
-
20. A processor managing data for a computer software program downloaded from a server computer system to a client computer system comprising:
-
a data repository created within the client computer system to be accessed by the computer software program for storing data without automatic transfer of the data to the server computer system during request/response communications between the client computer system and the server computer system;
a URL-based persistent data identifier associated with the data repository; and
a logic unit granting the computer software program access to the data repository by comparing a URL associated with the computer software program to the URL-based persistent data identifier. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
setting, getting, removing and committing logic units for operating on the data stored in the data repository.
-
-
23. The processor of claim 22 wherein the getting logic unit further comprises:
a conversion unit converting the data from a source data format to a target data format.
-
24. The processor of claim 22 wherein the setting logic unit further comprises:
a conversion unit converting the data from a source data format to a target data format.
-
25. The processor of claim 22 wherein the committing logic unit is automatically invoked upon unloading, suspending or terminating the computer software program.
-
26. The processor of claim 20 wherein:
-
the persistent data identifier is created from a file stored in the directory of the server computer system; and
access to the data repository is restricted to computer software programs downloaded from the directory on the server computer system.
-
-
27. The processor of claim 20 wherein:
-
the persistent data identifier is created from a URL identifying the directory; and
access to the data repository is restricted the computer software program.
-
-
28. The processor of claim 20 wherein:
-
the persistent data identifier is created from a procedure defined in the computer software program; and
access to the data repository is restricted to the computer software program.
-
-
29. The processor of claim 20 wherein the data stored in the data repository is shared among a plurality of computer software programs using the same persistent data identifier.
-
30. The processor of claim 20 wherein the persistent data identifier contain authentication credentials.
-
31. The processor of claim 20 further comprising:
a size parameter to limit the amount of storage the data repository is allowed to use, the size parameter being stored in the persistent data identifier.
-
32. The processor of claim 20 further comprising:
a comment parameter to associate a comment with the data repository, the comment parameter being stored in the persistent data identifier.
-
33. The processor of claim 20 further comprising:
a duration parameter to automatically delete the data upon the expiration of a predefined time limit.
-
34. The processor of claim 20 wherein:
the data is defined as any serializable data type.
-
35. The processor of claim 20 wherein the data repository is implemented using a file system on the client computer system.
-
36. The processor of claim 20 wherein the data repository is implemented using a registry system on the client computer.
-
37. The processor of claim 20 wherein:
the data stores preference data for the user of the computer software program executing on the client computer system.
-
38. The processor of claim 20 wherein a portion of the data repository is reserved for use by an executive system controlling the execution of the computer software, program on the client computer system.
-
39. A processor for managing data for a computer software program downloaded from a server computer system to a client computer system comprising:
-
a means for creating a data repository within the client computer system to be accessed by the computer software program for storing data without automatic transfer of the data to the server computer system during request/response communications between the client computer system and the server computer system;
a means for creating a URL-based persistent data identifier associated with the data repository; and
a means for granting the computer software program access to the data repository by comparing a URL associated with the computer software program to the URL-based persistent data identifier.
-
-
40. A computer program product comprising:
-
a computer usable medium for managing data for a computer software program downloaded from a server computer system to a client computer system;
a set of computer program instructions embodied on the computer usable medium, including instructions to;
create a data repository within the client computer system to be accessed by the computer software program for storing data without automatic transfer of the data to the server computer system during request/response communications between the client computer system and the server computer system;
create a URL-based persistent data identifier associated with the data repository; and
grant the computer software program access to the data repository by comparing a URL associated with the computer software program to the URL-based persistent data identifier.
-
-
41. A computer data signal embodied in a carrier wave comprising:
-
a code segment for managing data for a computer software program downloaded from a server computer system to a client computer system;
a set of computer program instructions embodied on the computer data signal, including instructions to;
create a data repository within the client computer system to be accessed by the computer software program for storing data without automatic transfer of the data to the server computer system during request/response communications between the client computer system and the server computer system;
create a URL-based persistent data identifier associated with the data repository; and
grant the computer software program access to the data repository by comparing a URL associated with the computer software program to the URL-based persistent data identifier.
-
-
42. A method of managing data for a downloaded computer software program using a URL associated with the downloaded computer software program, the method comprising:
-
creating a data repository within the client computer system to be accessed by the downloaded computer software program for storing data in the data repository without automatic transfer of the data to the server computer system during request/response communications between the client computer system and the server computer system;
using the URL associated with the downloaded computer software program, creating a URL-based persistent data identifier for the data repository; and
granting the computer software program access to the data repository by comparing the URL associated with the computer software program to the URL-based persistent data identifier.
-
Specification