The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Jun. 17, 2014
Filed:
Apr. 08, 2011
Ganna Zaks, Mountain View, CA (US);
Pierre Betouin, Boulogne, FR;
Augustin J. Farrugia, Cupertino, CA (US);
Julien Lerouge, Santa Clara, CA (US);
Jon Mclachlan, San Francisco, CA (US);
Gideon M. Myles, San Jose, CA (US);
Cédric Tessier, Paris, FR;
Ganna Zaks, Mountain View, CA (US);
Pierre Betouin, Boulogne, FR;
Augustin J. Farrugia, Cupertino, CA (US);
Julien Lerouge, Santa Clara, CA (US);
Jon McLachlan, San Francisco, CA (US);
Gideon M. Myles, San Jose, CA (US);
Cédric Tessier, Paris, FR;
Apple Inc., Cupertino, CA (US);
Abstract
Disclosed herein are systems, methods, and non-transitory computer-readable storage media for executing encrypted computer code. A system configured to practice the method receives a request to execute encrypted computer code. In response to the request, the system identifies a portion of the encrypted computer code for execution and decrypts the portion to yield decrypted computer code. Then the system stores the decrypted computer code in a pool of memory and executes the decrypted computer code from the pool of memory. The system can store the decrypted computer code in the pool of memory based on a randomization algorithm so that identical executions of the encrypted computer code result in selections of different available memory locations within the pool of memory. Related portions can be stored non-consecutively in the pool of memory. The pool of memory can store different portions of decrypted computer code over time.