Patent Document ID: 9756149
Application ID: 15082162

Base Claim:
1. A non-transitory computer-readable medium having instructions stored thereon that, when executed on a computing device having a machine-specific instruction set, cause the computing device to perform operations comprising: receiving, by the computing device and from a computing system that is remotely located from the computing device, first portable code, the first portable code being a portable version of a first program, wherein the computing device includes multiple sets of application environment components and each set of application environment components includes: (i) a respective translator component for translating portable code into the machine-specific instruction set of the computing device, and (ii) a respective sandboxing component for executing translated programs that have been translated into the machine-specific instruction set of the computing device by one of the translator components, the respective sandboxing component using software-based fault isolation; selecting, based on a set of selection criteria and from among the multiple sets of application environment components, a particular set of application environment components; translating the first portable code into the machine-specific instruction set of the computing device using the respective translator component of the particular set of application environment components to generate a machine-specific version of the first program; and executing the machine-specific version of the first program on the computing device using the respective sandboxing component of the particular set of application environment components.

---

Claim 8:
8. The computer-readable medium of claim 1 , wherein: the set of selection criteria indicates a user preference for executing programs on the computing device; and selecting the particular set of application environment components comprises determining that the particular set of application environment components are appropriate for the user preference for executing programs on the computing device.