Interlocked plug and play with power management for operating systems
AssigneeMicrosoft Corporation
InventorsJacob Oshins, Doron Holan
Life of this patent
Estimating the term…
Abstract
The present invention provides a unified layer for Plug and Play (PnP) components and power management components while relieving device drivers from system-level complexities associated with implementing PnP and/or power management functionality. The layer operates at a level between low-level device drivers and more complex operating system tasks. The subject invention simplifies designing device drivers having proper power management support by creating an infrastructure that allows a device driver to operate within a driver framework or model and without having to process Plug-and-Play or Power Management I/O Request Packets (IRPs) directly.
Claims21
A method to facilitate device driver migration between operating systems, comprising:
- implementing, by a computing device, a middleware domain between device drivers and a particular operating system domain and that includes a plug-and-play state machine, a power state machine, and a power policy state machine, the middleware domain configured to:
- interface directly with the particular operating system domain such that the device drivers interact with the particular operating system via the middleware domain;
- perform processing of device configuration events through the plug-and-play state machine and processing of device power events through the power state machine in the middleware domain to enable separation of the handling of the device configuration and power events from device-specific functionality implemented by the device drivers;
- offload power management from the device drivers utilizing the power policy state machine to manage system power events on behalf of the device drivers;
- handle input/output request packets (IRPs) on behalf of the device drivers;
- and
- enable creation of operating system independent device drivers that provide the device-specific functionality without direct handling of said device configuration and power events by the device drivers;
- and
- processing, by the computing device, one or more of the device configuration and power events through the middleware domain on behalf of the device drivers.
A computer-implemented system that facilitates device driver migration between operating systems, comprising:
- a processing unit;
- computer storage media storing one or more program modules that, when executed via the processing unit, implement a middleware domain between device drivers and an operating system and that includes a plug-and-play state machine, a power state machine, and a power policy state machine, the middleware domain configured to:
- handle interaction with the operating system on behalf of the device drivers;
- separate processing of device configuration and power events from device-specific functionality implemented by the device drivers by providing functionality to handle the device configuration events through the plug-and-play state machine and the device power events through the power state machine in the middleware domain;
- offload power management from the device drivers utilizing the power policy state machine to manage system power events on behalf of the device drivers;
- handle input/output request packets (IRPs) on behalf of the device drivers;
- enable creation of device drivers that provide the device-specific functionality without direct handling of said device configuration and power events by the device drivers;
- and
- process one or more of the device configuration and power events through the middleware domain on behalf of the device drivers.
One or more computer storage media storing one or more program modules that, when executed via a processing unit, implement a middleware domain between device drivers and a particular operating system domain of a computing device and that includes a plug-and-play state machine, a power state machine, and a power policy state machine, the middleware domain configured to:
- interface directly with the particular operating system domain in lieu of including functionality to interface with the particular operating system domain in individual device drivers, the individual device drivers interacting with the particular operating system domain via the middleware domain;
- handle processing of device configuration events through the plug-and-play state machine and device power events through the power state machine in the middleware domain in lieu of including functionality for handling the device configuration and power events with device-specific functionality in the individual device drivers;
- offload power management from the device drivers utilizing the power policy state machine to manage system power events on behalf of the device drivers;
- handle input/output request packets (IRPs) on behalf of the device drivers;
- and
- enable creation of device drivers that provide the device-specific functionality and are designed to operate in multiple operating system domains through the middleware domain.
Dependencies are inferred from the claim text.