Executing Native-Code Applications in a Browser
First Claim
1. A method comprising:
- executing an application written in native code within a portion of memory of a computing device that is enforced by page-protection hardware of the computing device; and
enabling a browser of the computing device to function as an operating system for the application written in the native code.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for leveraging legacy code to deploy native-code desktop applications over a network (e.g., the Web) are described herein. These techniques include executing an application written in native code within a memory region that hardware of a computing device enforces. For instance, page-protection hardware (e.g., a memory management unit) or segmentation hardware may protect this region of memory in which the application executes. The techniques may also provide a narrow system call interface out of this memory region by dynamically enforcing system calls made by the application. Furthermore, these techniques may enable a browser of the computing device to function as an operating system for the native-code application. These techniques thus allow for execution of native-code applications on a browser of a computing device and, hence, over the Web in a resource-efficient manner and without sacrificing security of the computing device.
46 Citations
20 Claims
-
1. A method comprising:
-
executing an application written in native code within a portion of memory of a computing device that is enforced by page-protection hardware of the computing device; and enabling a browser of the computing device to function as an operating system for the application written in the native code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
executing an application written in native code within a portion of memory of a computing device that is enforced by hardware of the computing device; and enabling a browser of the computing device to function as an operating system for the application written in the native code. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
sending a request to execute an application comprising native code from a browser of a computing device; responsive at least in part to the sending of the request, receiving the native code of the application at the computing device; assigning a portion of memory of the computing device to the application comprising the native code, the portion of the memory being enforced by hardware of the computing device; executing the native code of the application within the portion of the memory being enforced by the hardware; dynamically enforcing interface calls made by the application for system services outside of the portion of the memory; and enabling the browser of the computing device to provide the system services outside of the portion of memory. - View Dependent Claims (18, 19, 20)
-
Specification