Network enabled application software system and method
First Claim
1. A method for allowing a predetermined access to at least a subset of a software application, the method comprising the steps of:
- calculating an identifier based at least in part on a user file;
generating an access key based at least in part on the identifier; and
validating the access key against a user data key and, on successful validation, granting the predetermined access to the at least a subset of the software application.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for allowing access to software to end users on a pay per use basis. The invention may be employed advantageously in a variety of scenarios, especially where there exists a need to provide end users with a method of accessing and executing large computationally intensive application software programs at low cost, on an as needed basis, in a secure manner, without the burden of excessive transmission times or large centralized vendor computer facilities. The invention is applicable to any pay per use method of distributing software and may be especially desirable where there are large data files, sensitive data, and/or computationally intensive applications.
53 Citations
45 Claims
-
1. A method for allowing a predetermined access to at least a subset of a software application, the method comprising the steps of:
-
calculating an identifier based at least in part on a user file;
generating an access key based at least in part on the identifier; and
validating the access key against a user data key and, on successful validation, granting the predetermined access to the at least a subset of the software application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 31, 32)
-
-
15. A method of creating a user data key for a software application, the method comprising the steps of:
-
receiving an identifier based at least in part on a user file;
including the identifier in a fingerprint;
encrypting the fingerprint; and
associating the fingerprint with the software application as the user data key.
-
-
28. A network enabled application software distribution method including the steps of:
-
providing a restricted use application software program;
loading the program onto a user'"'"'s computer;
establishing communications between the user'"'"'s computer and another computer;
uploading a fingerprint file from the user'"'"'s computer to the other computer;
downloading a key file from the other computer to the user'"'"'s computer; and
running the application software program on the user'"'"'s computer.
-
-
29. A method for allowing a run permitted access to at least a subset of a software application, the method comprising the steps of:
-
calculating an identifier based at least in part on a user file, the user file including input data for the software application and having at least one file characteristic, and the identifier including a checksum based at least in part on a cyclic redundancy check;
generating an access key based at least in part on at least one of the identifier, the at least one file characteristic, a software application signature, and at least one system characteristic;
encrypting the access key; and
validating the access key against a user data key that includes a previously calculated result based at least in part on the user file and, on successful validation, granting the predetermined access to the at least a subset of the software application and, on unsuccessful validation, executing an activation routine.
-
-
33. A method of creating a user data key for a software application, the method comprising the steps of:
-
receiving an identifier based at least in part on a user file, the user file having input data for the software application and having at least one file characteristic, and the identifier including a checksum based at least in part on a cyclic redundancy check;
including the identifier in a fingerprint, the fingerprint including at least one of the at least one file characteristic, a software application signature, and at least one system characteristic;
encrypting the fingerprint; and
associating the fingerprint with the software application as the user data key by transmitting the fingerprint to the software application, and by using a dynamic link library file, and in response to receiving payment. - View Dependent Claims (34, 35, 36, 40)
-
-
37. A software access control apparatus comprising:
-
an identifier calculator in communication with a user file;
an access key generator in communication with the identifier calculator; and
a validator in communication with the access key generator and a user data key.
-
-
38. A user data key generator comprising:
-
an identifier receiver;
a fingerprint compiler in communication with the identifier receiver;
an encryption engine in communication with the fingerprint compiler; and
a transmitter in communication with the encryption engine and a software application.
-
-
39. A computer system for allowing a predetermined access to at least a subset of a software application comprising:
-
means for calculating an identifier based at least in part on a user file;
means for generating an access key based at least in part of the identifier;
means for encrypting the access key;
means for validating the access key against a user data key; and
means for granting the predetermined access in response to successful validation.
-
-
41. A computer system for creating a user data key for a software application comprising:
-
means for receiving an identifier based at least in part on a user file;
means for including the identifier in a fingerprint;
means for encrypting the fingerprint; and
means for associating the fingerprint with the software application as the user data key.
-
-
42. An article of manufacture comprising a program storage medium having computer readable program code embodied therein for allowing a predetermined access to at least a subset of a software application, the computer readable program code in the article of manufacture including:
-
computer readable code for causing a computer to calculate an identifier based at least in part on a user file;
computer readable code for causing a computer to generate an access key based at least in part on the identifier; and
computer readable code for causing a computer to validate the access key against a user data key and, on successful validation, grant the predetermined access to the at least a subset of the software application.
-
-
43. A program storage medium readable by a computer, tangibly embodying a program of instructions executable by the computer to perform method steps for allowing a predetermined access to at least a subset of a software application, the method steps comprising:
-
calculating an identifier based at least in part on a user file;
generating an access key based at least in part on the identifier; and
validating the access key against a user data key and, on successful validation, granting the predetermined access to the at least a subset of the software application.
-
-
44. An article of manufacture comprising a program storage medium having computer readable program code embodied therein for creating a user data key for a software application, the computer readable program code in the article of manufacture including:
-
computer readable code for causing a computer to receive an identifier based at least in part on a user file;
computer readable code for causing a computer to include the identifier in a fingerprint;
computer readable code for causing a computer to encrypt the fingerprint; and
computer readable code for causing a computer to associate the fingerprint with the software application as the user data key, so as to create the user data key.
-
-
45. A program storage medium readable by a computer, tangibly embodying a program of instructions executable by the computer to perform method steps for creating a user data key for a software application, the method steps comprising:
-
receiving an identifier based at least in part on a user file;
including the identifier in a fingerprint;
encrypting the fingerprint; and
associating the fingerprint with the software application as the user data key, so as to create the user data key.
-
Specification