Patent ID: 8271889

Claim:
A computer-implemented method comprising: receiving a first plurality of instructions from a data store of a mobile device, wherein the data store stores data that is automatically synchronized with data stored on a server remote from the mobile device, and the first plurality of instructions, when executed by a virtual machine on the mobile device, provide a first interface that allows a user to access services provided by an operating system on the mobile device using meta-data in the data store that defines permitted activities of the first plurality of instructions, wherein access to services provided by the operating system includes access to user data stored by the operating system through a porting layer between the virtual machine and the operating system in accordance with the meta-data defining permitted activities; executing the first plurality of instructions on the mobile device using the virtual machine to provide the first interface to allow the user to access services provided by the operating system in accordance with the meta-data defining permitted activities of the first plurality of instructions; updating the data store of the mobile device with a second plurality of instructions, wherein the second plurality of instructions when executed on the mobile device provide, relative to the first interface provided by the first plurality of instructions, a modified interface, relative to the first interface, that allows the user to access services provided by the operating system on the mobile device through the porting layer using meta-data in the data store that defines permitted activities of the second plurality of instructions; and executing the second plurality of instructions on the mobile device using the virtual machine to provide the modified interface to allow the user to access services provided by the operating system in accordance with the meta-data defining permitted activities of the second plurality of instructions.