Patent ID: 7603484

Claim:
A system, comprising: at least one processor executing computer executable instructions to provide: a host process residing in user space that hosts and isolates one or more user-mode device drivers stored in a computer readable medium; a reflector implemented as a kernel filter driver that operates in kernel memory and is arranged to exchange a message with the one or more user-mode device drivers via the host process, the reflector configured to create at least one of a first device object that enables an application to send a first request to the one or more user-mode device drivers, or a second device object that enables the one or more user-mode device drivers to send a second request to one or more kernel drivers below the reflector; wherein the reflector is at the top of a kernel device stack, such that the reflector intercepts an application I/O (input/output) request and asynchronously forwards the application I/O request to the host process; a driver manager residing in user space and arranged to communicate with the host process and the reflector, the driver manager being configured to instantiate the host process based, at least in part, upon a third request from the reflector and remove the host process in response to a fourth request from the reflector; and a driver manager control object that operates in kernel memory, the driver manager control object facilitating communication from the driver manager to the reflector by enabling the driver manager control object to send a message to the reflector on behalf of the driver manager.