IP Library Granted Patent US 8,307,426
Granted Patent B2
US 8,307,426 · App. 11/627,899 · Granted Nov 6, 2012

Systems and methods for controlling the use of processing algorithms, and applications thereof

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,307,426
App. No.
11/627,899
Granted
Nov 6, 2012
Kind
B2
Abstract

The present invention provides systems and methods for controlling the use of processing algorithms, and applications thereof. In an embodiment, authorization to use an algorithm is validated in a system having a processor capable of executing user defined instructions, by executing a user defined instruction that writes a first value to a first storage of a user defined instruction block, uses the first value to transform a second value located in a second storage of the user defined instruction block, and compares the transformed second value to a third value located in a third storage. Use of the algorithm is permitted only if the comparison of the transformed second value to the third value indicates that use of the algorithm is authorized. In another embodiment, authorization to use an at least partially decrypted algorithm is validated via a key for enablement.

Claims (32)

1. In a microprocessor having a protected function, a method for selectively enabling the protected function for a user, the method comprising:

receiving, from the user, at the microprocessor, a user defined instruction, wherein the user defined instruction is created by the user;

receiving a validation value from the user, wherein the validation value is unprotected from the user;

storing the received user defined instruction in a storage in the microprocessor;

executing, by the microprocessor, the stored user defined instruction, wherein the user defined instruction directs the microprocessor to enable the protected function based on an authorization value protected from the user and the validation value; and

allowing the validation value to be varied prior to executing the stored user defined instruction in order to change the authorization for use of the protected function.

2. The method of claim 1 , wherein enabling the protected function includes enabling a protected audio algorithm.

3. The method of claim 1 , wherein executing the stored user defined instruction comprises, when a request is received to use a main computation period of the protected function, executing the user defined instruction.

4. A non-transitory computer readable storage medium having computer executable instructions stored thereon that, when executed by a microprocessor, cause the microprocessor to perform operations for selectively enabling a protected function for a user, the operations comprising:

receiving, from the user, at the microprocessor, a user defined instruction, wherein the user defined instruction is created by the user;

receiving a validation value from the user, wherein the validation value is unprotected from the user;

storing the received user defined instruction in a storage in the microprocessor;

executing, by the microprocessor, the stored user defined instruction, wherein the user defined instruction directs the microprocessor to enable the protected function based on an authorization value protected from the user and the validation value; and

allowing the validation value to be varied prior to executing the stored user defined instruction in order to change the authorization for use of the protected function.

5. A method for processing in a system having a processor with a protected algorithm and executing user defined instructions, the method comprising:

receiving, from a user, at the processor, a user defined instruction, wherein the user defined instruction is created by the user;

receiving a validation value from the user, wherein the validation value is unprotected from the user;

storing the received user defined instruction in a storage in the processor;

executing, by the processor, the stored user defined instruction, wherein the user defined instruction directs the processor to enable the protected algorithm based on an authorization value protected from the user and the validation value; and

allowing the validation value to be varied prior to executing the stored user defined instruction in order to change the authorization for use of the protected algorithm.

6. The method of claim 5 , wherein enabling the protected algorithm includes enabling a protected audio algorithm.

7. The method of claim 5 , wherein executing the user defined instruction occurs during initialization of the protected algorithm.

8. The method of claim 5 , wherein executing the stored user defined instruction comprises, when a request is received to use a main computation period of the protected algorithm, executing the user defined instruction.

9. The method of claim 1 , wherein executing the user defined instruction occurs during initialization of the protected function.

10. A system for selectively enabling in a microprocessor a protected function for a user comprising:

a user defined instruction block configured to:

receive a user defined instruction from the user, wherein the user defined instruction is created by the user, and

store the received user defined instruction; and

a storage module configured to receive a validation value from the user, wherein the validation value is unprotected from the user,

wherein the microprocessor is configured to:

execute the stored user defined instruction to enable the protected function based on an authorization value protected from the user and the validation value, and

allow the validation value is to be varied prior to executing the stored user defined instruction in order to change the authorization for use of the protected algorithm.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2014
From: BRIDGE CROSSING, LLC
To: ARM FINANCE OVERSEAS LIMITED
Reel/Frame 033074/0058 →