Patent ID: 8225301

Claim:
A method of computing, comprising: executing a software application, wherein the software application comprises at least first and second versions of a subroutine for performing a specific function, wherein the first version and the second version are distinctly encoded versions of the subroutine, wherein the first version exhibits a first behavior and the second version exhibits a second behavior, wherein the first behavior includes a first operating speed of the subroutine, and the second behavior includes a second, different operating speed of the subroutine; and selecting for execution one of the first version or the second version based on whether one or more licensing criteria are satisfied, wherein the first version is selected in response to the one or more licensing criteria being satisfied, and the second version is selected in response to the one or more licensing criteria not being satisfied, wherein the first and second versions of the subroutine are identified by a function pointer, and selecting one of the first version or the second version based on whether the one or more licensing criteria are satisfied comprises setting the function pointer to one of the first version or the second version.