Patent ID: 8271995

Claim:
A computer-implemented method for facilitating execution of a native code module on a computing system, wherein the native code module includes untrusted code, the method comprising: obtaining a service registry that includes service modules, wherein each service module provides at least one system service; identifying one or more system services that are required by the native code module during execution of the native code module on the computing system; selecting, from among the service modules included in the service registry, one or more service modules that provide the identified one or more system services; and providing an inter-module communication (IMC) runtime that exposes the identified one or more system services to the native code module, including providing a respective IMC channel to enable communication between the native code module and each of the selected one or more service modules; adding a new service module to the service registry; enabling, for the native code module, additional system services provided by the new service module through the IMC runtime without affecting existing system services available to the native code module from the selected one or more service modules; and restricting access to the system services from the native code module based on a security policy for the native code module.