Enjoy your
FREE PREVIEW which shows only 2022 data and 25 documents. Contact
Patent Forecast for full access.
Cryptocurrency: Industrial Applications
Search All Patents in Cryptocurrency: Industrial Applications
Patent US10572688
Issued 2020-02-25
Blockchain Based Software Licensing Enforcement
A server compiles a software program with a randomly generated string to produce compiled code. The server also computes a hash of the compiled code to produce a unique identifier for the software program. Upon receiving a request from a user to download the software program, the server generates a transaction for a blockchain that has a transaction identifier and the transaction including a user identifier for the user and the unique identifier. The server embeds the transaction identifier and the unique identifier with the software program, and downloads the software program to a computing device associated with the user.
Much More than Average Length Specification
View the Patent Matrix® Diagram to Explore the Claim Relationships
USPTO Full Text Publication >
- 1. A method comprising:
at a server, for a copy of a software program among a plurality of copies of the software program to be distributed:
compiling the copy of the software program with a randomly generated string that is unique to the copy of the software program to produce compiled code;
computing a hash of the compiled code to produce a unique identifier for the copy of the software program;
upon obtaining a request from a user to download the copy of the software program, generating a transaction for a blockchain, the transaction having a transaction identifier and the transaction including a user identifier for the user and the unique identifier;
embedding the transaction identifier and the unique identifier with the copy of the software program; and
downloading the copy of the software program to a computing device associated with the user.
- 9. An apparatus comprising:
a communication interface configured to enable communications over a network; and one or more processors coupled to the communications interface, the one or more processors configured to, for a copy of a software program among a plurality of copies of the software program to be distributed:
compile the copy of the software program with a randomly generated string that is unique to the copy of the software program to produce compiled code;
compute a hash of the compiled code to produce a unique identifier for the copy of the software program;
upon obtaining a request from a user to download the copy of the software program, generate a transaction for a blockchain, the transaction having a transaction identifier and the transaction including a user identifier for the user and the unique identifier;
embed the transaction identifier and the unique identifier with the copy of the software program; and
download the copy of the software program to a computing device associated with the user.
- 16. One or more non-transitory computer readable storage media encoded with software comprising computer executable instructions and when the software is executed operable to perform operations comprising, for a copy of a software program among a plurality of copies of the software program to be distributed:
compiling the copy of the software program with a randomly generated string that is unique to the copy of the software program to produce compiled code; computing a hash of the compiled code to produce a unique identifier for the copy of the software program; upon obtaining a request from a user to download the copy of the software program, generating a transaction for a blockchain, the transaction having a transaction identifier and the transaction including a user identifier for the user and the unique identifier; embedding the transaction identifier and the unique identifier with the copy of the software program; and downloading the copy of the software program to a computing device associated with the user.