System and method for monitoring software
Abstract
Systems and methods for monitoring, testing, distribution, and use of computer software with associated methods and systems for repeatedly contacting a software user and exchanging information, such as passwords, authorization information, marketing, advertising, or promotional information include associating a list of passwords with each copy or group of copies of computer software which must be entered at predetermined intervals to provide continued use of the software. Software monitoring and network license metering may be providing by storing information relative to software operation on a local computer or server and transferring the information to a remote computer or server at predetermined intervals.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for generating a plurality of authorization codes for use in monitoring software to reduce unauthorized copying or use of the software, the method comprising:
repeatedly requiring entry of an authorization code for continued use of the software beyond an associate authorization interval.
2 . The method of claim 1 further comprising associating an activation key with the software, the activation key being entered by a user during registration of the software.
3 . The method of claim 2 wherein the same activation key is associated with a predetermined number of copies of the software.
4 . The method of claim 2 wherein the activation key is embedded within the software.
5 . The method of claim 2 wherein the activation key comprises a plurality of alphanumeric characters.
6 . The method of claim 1 further comprising:
encrypting the authorization code prior to supplying the authorization code to an authorized user of the software.
7 . The method of claim 1 further comprising:
requiring a user of the software to contact an authorized software representative during installation of the software;
obtaining registration information from the user;
obtaining an activation key from the user to enable use of the software during a first authorization interval;
determining whether the user is an authorized user based on the registration information and the activation key; and
supplying the authorization code from a plurality of authorization codes corresponding to the activation key based on the determination of whether the user is an authorized user.
8 . The method of claim 7 further comprising encrypting the authorization code prior to supplying the authorization code.
9 . The method of claim 7 wherein the step of supplying comprises:
determining a password code based on the activation key;
accessing a look-up table indexed by the password code to identify an algorithm for generating a plurality of passwords associated with a particular copy of the software; and
selecting one of the plurality of passwords to supply to the user.
10 . The method of claim 9 wherein the step of selecting one of the plurality of passwords comprises:
selecting one of the plurality of passwords based on a previously supplied password.
11 . The method of claim 7 wherein the plurality of authorization codes is generated prior to distribution of the authorization codes.
12 . The method of claim 7 wherein the step of supplying comprises:
supplying a master authorization code which disables the software if the user is an unauthorized user.
13 . The method of claim 7 wherein the step of supplying comprises:
supplying a master authorization code which allows for indefinite use of the software.
14 . The method of claim 7 wherein the step of supplying comprises:
supplying a master authorization coded which allows operation of the software for a predetermined period of time, wherein the master authorization code is not associated with any particular copy of the software.
15 . The method of claim 7 further comprising:
transferring advertising, marketing, or promotional information to the user while supplying the authorization code.
16 . The method of claim 7 wherein the step of determining comprises:
comparing the registration information with previously obtained registration information associated with the activation key; and
determining that the user is an authorized user if no previously obtained registration information exists or if the previously obtained registration information substantially matches the registration information supplied by the user.
17 . A method for monitoring software to reduce unauthorized use, the method comprising:
associating an authorization code with a copy of the software, the authorization code including a password code associated with a plurality of passwords which must be repeatedly entered at selected intervals for continued use of the software, the authorization code being distributed with the copy of the software and the plurality of passwords being maintained by an authorized software representative; obtaining the authorization code from a user or a user computer; parsing the authorization code to determine the associated password code; selecting one of the plurality of passwords associated with the password code; and providing the selected password to the user or the user computer to allow operation of the software for the selected interval.
18 . The method of claim 17 further comprising encrypting the selected password before providing the password to the user or the user computer.
19 . The method of claim 17 further comprising:
associating a customer code with a developer of the software;
generating a serial number for each copy of the software; and
combining the customer code, the serial number, and the password code to form the authorization code.
20 . The method of claim 19 wherein the step of generating a serial number comprises generating a unique serial number for each copy of the software.
21 . The method of claim 19 wherein the step of generating a serial number comprises generating an identical serial number for a predetermined number of copies of the software.
22 . The method of claim 19 wherein the serial number comprises a plurality of alphanumeric characters.
23 . The method of claim 17 wherein the step of obtaining comprises automatically obtaining the authorization code at predetermined intervals when the user computer is connected to the internet.
24 . The method of claim 17 further comprising transferring advertising, marketing, or promotional information while obtaining the authorization code.
25 . The method of claim 17 further comprising:
transferring advertising, marketing, or promotional information to the user, the user computer, or the software while supplying the password.
26 . The method of claim 17 wherein the step of selecting one of the plurality of passwords comprises:
selecting one of the plurality of passwords based on a previously selected password.
27 . The method of claim 17 wherein the plurality of passwords is generated prior to distribution of the authorization code.
28 . The method of claim 17 wherein the step of providing comprises:
providing a master password which disables the software if the user is an unauthorized user.
29 . The method of claim 17 wherein the step of providing comprises:
providing a master password which allows for indefinite use of the software.
30 . The method of claim 17 wherein the step of providing comprises:
providing a master password which allows operation of the software for a predetermined period of time, wherein the master password is not associated with any particular copy of the software.
31 . The method of claim 17 wherein the step of providing comprises:
providing the password to a user for manual entry into the software.
32 . The method of claim 17 wherein the step of providing comprises:
providing the password to a user for manual entry into the software to authorize use of the software for a predetermined interval.
33 . The method of claim 17 wherein the step of providing comprises:
encoding the password prior to providing the password to the user or the user computer.
34 . The method of claim 17 further comprising:
prompting the user to obtain a new password prior to expiration of the selected interval;
automatically contacting an authorized software representative to obtain a subsequent password from the plurality of passwords associated with the password code of the authorization code to authorize continued use of the software for a subsequent interval.
35 . The method of claim 17 further comprising:
automatically contacting an authorized software representative to obtain a subsequent password from the plurality of passwords associated with the password code of the authorization code prior to expiration of a current interval to authorize use of the software for a subsequent interval without alerting the user.
36 . The method of claim 35 wherein the step of automatically contacting comprises establishing a connection over the internet using a browser application.
37 . A method for monitoring software installed on a plurality of computers in communication with one another or a central computer to form a computer network, the method comprising:
associating an activation code with the software for authorizing a predetermined number of copies of the software to be installed on computers associated with the computer network, the activation code having a corresponding plurality of passwords; collecting registration information from each computer associated with the computer network during installation of the software; providing a first password from the plurality of passwords to the computers associated with the computer network for the predetermined number of copies of the software to authorize operation of the software for a first interval; and requiring entry of another one of the plurality of passwords for each copy of the software to continue operating beyond the first interval.
38 . The method of claim 37 further comprising:
prompting each computer user prior to expiration of the first interval to contact an authorized software representative to obtain a subsequent password for continued operation of the software.
39 . The method of claim 37 wherein the software automatically contacts an authorized software representative to obtain a subsequent password from the plurality of passwords associated with the activation code.
40 . The method of claim 37 further comprising:
monitoring use of each computer to determine when the computer is idle; and
automatically obtaining a subsequent password from the plurality of passwords for continued operation of the software when the computer is idle.
41 . The method of claim 37 wherein each password includes information to uniquely identify a particular computer associated with the computer network.
42 . The method of claim 37 further comprising encrypting the passwords prior to providing the passwords to the computers associated with the computer network.
43 . The method of claim 37 wherein the plurality of passwords are related such that subsequent passwords are determined based on one or more previous passwords.
44 . The method of claim 37 further comprising:
prompting a computer user to obtain another password for continued operation of the software prior to expiration of a current authorization interval;
contacting an authorized software representative to obtain another password for continued operation of the software;
collecting registration information;
comparing the registration information to previously collected registration information associated with the activation code; and
providing a subsequent password only if the registration information substantially matches the previously collected registration information for the activation code.
45 . A method for monitoring computer software, the method comprising:
storing information relative to use of the computer software; and automatically transmitting the stored information to an authorized software representative at predetermined intervals.
46 . The method of claim 45 wherein the step of storing comprises:
monitoring execution of the computer software to detect errors; and
logging errors to a locally stored file.
47 . The method of claim 45 wherein the step of storing comprises:
storing date and time of use each time the computer software is executed.
48 . The method of claim 45 wherein the step of storing comprises:
monitoring execution of the computer software to detect when a user requests help from a help menu associated with the computer software; and
storing a current program context for the software program each time the user requests help.
49 . The method of claim 45 wherein the step of storing comprises:
storing information relative to all application programs running on a computer when an error occurs while executing the computer software.
50 . The method of claim 45 wherein the computer software is accessible by a plurality of computers connected to a local server to form a local area network and wherein the step of storing comprises storing information on the local server relative to the number of computers executing the computer software.
51 . The method of claim 50 wherein the computer software is accessible by a plurality of computers connected to a local server to form a local area network and wherein the step of automatically transmitting comprises transmitting the information stored on the local server to a remote server associated with the authorized software representative and connected via the internet.
52 . The method of claim 45 further comprising:
associating an authorization code with at least one copy of the computer software, the authorization code including a password code associated with a plurality of passwords with each password authorizing operation of the computer software for one of the predetermined intervals;
requesting registration information from at least one user upon expiration of each of the predetermined intervals;
automatically providing a password from the plurality of passwords for each of the predetermined intervals for which the registration information indicates that the user is an authorized user.
53 . The method of claim 52 further comprising:
automatically providing advertising, marketing, or promotional information to the at least one user while obtaining the requested registration information.
54 . A method for monitoring computer software used by a plurality of computers connected to a local server to form a local area network to reduce unauthorized use of the computer software, the method comprising:
monitoring a number of computers using the computer software; storing information associated with the computers using the computer software on the local server; repeatedly transferring the stored information to a remote server.
55 . The method of claim 54 wherein the stored information includes dates and times of use of the computer software.
56 . The method of claim 54 wherein the step of repeatedly transferring the stored information comprises automatically transferring the stored information at predetermined intervals.
57 . The method of claim 56 wherein the predetermined intervals are based on elapsed execution time of a particular copy of the computer software.
58 . The method of claim 56 wherein the predetermined intervals are based on aggregate execution time of all copies of the computer software.
59 . The method of claim 56 wherein the predetermined intervals are based on a date associated with the local server.
60 . The method of claim 56 wherein the predetermined intervals are based on a date associated with the remote server.
61 . The method of claim 56 wherein the predetermined intervals are regular intervals.
62 . The method of claim 54 wherein the stored information includes registration information associated with the plurality of computers.
63 . The method of claim 54 wherein the stored information includes information to uniquely identify each of the plurality of computers using the computer software.
64 . The method of claim 54 further comprising:
repeatedly transferring registration information associated with the local server to the remote server at predetermined intervals to authorize continued use of the software provided the registration information indicates the local server corresponds to an authorized user.
65 . A method for monitoring computer software used by a plurality of computers connected to a local server to form a local area network to reduce unauthorized use of the computer software, the method comprising:
associating an authorization code with a plurality of copies of the software, the authorization code including a password code associated with a plurality of passwords which must be repeatedly entered at selected intervals for continued use of the software, the authorization code being distributed with the copies of the software and the plurality of passwords being maintained by an authorized software representative on a remote server; obtaining the authorization code from the local server or a user computer; parsing the authorization code to determine the associated password code; selecting one of the plurality of passwords associated with the password code; providing the selected password to the local server or the user computer to allow operation of the software for the selected interval; monitoring a number of computers using the computer software; storing information associated with the computers using the computer software on the local server; and repeatedly transferring the stored information to the remote server upon expiration of each selected interval.
66 . The method of claim 65 further comprising encrypting the information prior to storing the information on the local server.
67 . The method of claim 65 wherein the selected intervals correspond to aggregate execution time of the computer software.
68 . The method of claim 65 wherein the selected intervals are based on a date generated by the local server.
69 . The method of claim 65 wherein the selected intervals are based on a date generated by the remote server.
70 . The method of claim 65 wherein the stored information uniquely identifies each of the computers using the computer software.
71 . The method of claim 65 wherein the stored information includes a local date and time corresponding to use of the computer software by each of the computers of the local area network.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.