Patent ID: 8209685

Claim:
A computer-implemented method comprising: running, on an operating system of a device, a virtual machine, a scheduler and a service provider; identifying, by the scheduler, a first asynchronous request from the virtual machine, where the first asynchronous request is for accessing one or more of the device's information or services; retrieving, by the scheduler, the first asynchronous request from the virtual machine; scheduling, by the scheduler, the first asynchronous request to be provided as a second request to the service provider on the device, where the service provider is operable to handle the second request; providing, by the scheduler, the second request to the service provider; invoking, by the service provider, an operating system call to the operating system of the device based on the second request; receiving, by the service provider, an operating system response; receiving, by the scheduler, a first response from the service provider; providing, by the scheduler and to the virtual machine a second response; selecting, by the virtual machine, first code in the virtual machine from a plurality of code to receive the second response and providing the second response to the selected code.