Inversion-of-control component service models for virtual environments
First Claim
1. A system configured to fulfill component requests received from applications within a virtual environment executing on a device having at least two hardware components that each have an associated capability, the system comprising:
- a component request initiating component configured to, upon receiving from an application executing within the virtual environment a component request specifying a callback of the application and a one of the hardware components the capability of which is to be invoked,store the callback associated with the component request and the application,send the component request to the one hardware component for completion, andresume execution of the application within the virtual environment;
a callback invoking component configured to, upon detecting a completion of the component request that yields at least one component result, retrieve the callback associated with the component request; and
a component service that is configured to scrutinizethe component request andone or more of the at least one component resultfor at least one ofinclusion of malicious code andan accessing or leakage of private user information.
2 Assignments
0 Petitions
Accused Products
Abstract
In the field of computing, many scenarios involve the execution of an application within a virtual environment of a device (e.g., web applications executing within a web browser). Interactions between applications and device components are often enabled through hardware abstractions or component application programming interfaces (API), but such interactions may provide more limited and/or inconsistent access to component capabilities for virtually executing applications than for native applications. Instead, the device may provide hardware interaction as a service to the virtual environment utilizing a callback model, wherein applications within the virtual environment initiate component request specifying a callback, and the device initiates the component requests with the components and invokes associated callbacks upon completion of a component request. This model may enable the applications to interact with the full capability set of the components, and may reduce blocked execution of the application within the virtual application in furtherance of application performance.
-
Citations
20 Claims
-
1. A system configured to fulfill component requests received from applications within a virtual environment executing on a device having at least two hardware components that each have an associated capability, the system comprising:
-
a component request initiating component configured to, upon receiving from an application executing within the virtual environment a component request specifying a callback of the application and a one of the hardware components the capability of which is to be invoked, store the callback associated with the component request and the application, send the component request to the one hardware component for completion, and resume execution of the application within the virtual environment; a callback invoking component configured to, upon detecting a completion of the component request that yields at least one component result, retrieve the callback associated with the component request; and a component service that is configured to scrutinize the component request and one or more of the at least one component result for at least one of inclusion of malicious code and an accessing or leakage of private user information. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of fulfilling component requests received from applications within a virtual environment on a device executing on a device having a processor and at least two hardware components that each have an associated capability, the method comprising:
executing on the processor instructions configured to; upon receiving from an application executing within the virtual environment a component request specifying a callback of the application and a one of the hardware components the capability of which is to be invoked, store the callback associated with the component request and the application, send the component request to the one hardware component for completion, and resume execution of the application within the virtual environment; upon detecting a completion of the component request that yields at least one component result, retrieve the callback associated with the component request; and scrutinize the component request and one or more of the at least one component result for at least one of inclusion of malicious code and an accessing or leakage of private user information. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
17. A computer-readable storage device comprising instructions that, when executed on a processor of a device comprising a virtual environment and at least one component, cause the execution of a method of fulfilling component requests received from an application executing within the virtual environment, the method comprising:
-
upon receiving from the application a component request specifying a component and a callback of the application, storing the callback associated with the component request and the application, sending the component request to the component, and resuming execution of the application within the virtual environment; upon receiving from the application within the virtual environment a device capability enumeration request, enumerating for the application the component capabilities of respective components of the device; and upon receiving from the application within the virtual environment a device capability request specifying a component capability, translating the device capability request into a component request specifying a one of the at least one component having the component capability specified by the device capability request. - View Dependent Claims (18, 19, 20)
-
Specification