Method of controlling the copying of software
First Claim
1. A method of controlling the use of copies of computer software, said software including an application program for performing a desired task and a first control program, said first control program allowing said application program, or a copy thereof, to be executed on an authorized given machine, but preventing said application program, or a copy thereof, from being executed on another unauthorized machine, said method comprising the steps of:
- generating a configuration code in response to the hardware of said given machine;
transmitting said configuration code to a remote machine, said remote machine being programmed with a second control program, one of said first or second control programs including information defining a number of authorized copies which can be and have been made for use on machines in addition to said given machine;
generating, by said second control program, a permission code at said remote machine in response to said configuration code;
transmitting said permission code to said given machine;
entering said permission code as a part of said first control program to allow said associated application program, or copies thereof, to be executed only on said given machine; and
determining whether the number of authorized copies has been reached and, if said number of authorized copies has not been reached, repeating said steps of generating a configuration code, transmitting said configuration code, generating a permission code, transmitting said permission code and entering said permission code for each additional machine on which said application program is to be executed.
1 Assignment
0 Petitions
Accused Products
Abstract
An authorized user of the program is allowed to make any number of backup copies of a computer program and to execute each such backup copy on the same authorized machine, but is inhibited from executing either the original or any copy thereof on any other machine. The method is implemented by including a control program with the application program to be copy controlled, which control program causes an interaction and registration of the program during initialization of the program with a central computer. The method includes generating a configuration code based on the configuration of the user'"'"'s computer and the communication of the configuration code to the central computer. The central computer thereafter generates a permission code based on the communicated configuration code and communicates the permission code back to the user. The permission code is then entered into the user'"'"'s computer and stored as a part of the control program. Prior to each subsequent execution of the program, a recalculation of the permission code is made by the control program and a comparison of the recalculated and the stored permission codes allows further execution of the program. The configuration code may include special data unique to the user'"'"'s authorized computer and the recalculation of the permission code may be enabled only by data supplied by the central computers generated permission code. Further, self destruct code may be included in the control code to avoid tampering with the copy control scheme.
-
Citations
12 Claims
-
1. A method of controlling the use of copies of computer software, said software including an application program for performing a desired task and a first control program, said first control program allowing said application program, or a copy thereof, to be executed on an authorized given machine, but preventing said application program, or a copy thereof, from being executed on another unauthorized machine, said method comprising the steps of:
-
generating a configuration code in response to the hardware of said given machine; transmitting said configuration code to a remote machine, said remote machine being programmed with a second control program, one of said first or second control programs including information defining a number of authorized copies which can be and have been made for use on machines in addition to said given machine; generating, by said second control program, a permission code at said remote machine in response to said configuration code; transmitting said permission code to said given machine; entering said permission code as a part of said first control program to allow said associated application program, or copies thereof, to be executed only on said given machine; and determining whether the number of authorized copies has been reached and, if said number of authorized copies has not been reached, repeating said steps of generating a configuration code, transmitting said configuration code, generating a permission code, transmitting said permission code and entering said permission code for each additional machine on which said application program is to be executed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
Specification