Patent ID: 8510861

Claim:
A method of protecting software, the method comprising: receiving, by a server computer, a registration request for a first copy of the software from a client computer, wherein the first copy of the software cannot be executed prior to registration and wherein the registration request comprises user registration information; validating, by the server computer, the user registration information; generating, by the server computer, a unique security module upon validation of the registration information, wherein the unique security module comprises an executable portion of the software's program instructions and one or more non-executable data items; generating, by the server computer, a digital certificate comprising a location of the executable portion of the software's program instructions within the unique security module: receiving, by the client computer, the unique security module and the digital certificate; determining, by the client computer, the location of the executable portion of the software's program instructions within the unique security module based on the digital certificate; and integrating, by the client computer, the executable portion of the software's program instructions with the first copy of the software based on the determined location, wherein the executable portion of the software's program instructions must be accessed by the first copy of the software prior to execution of the first copy of the software.