IP Library Patent Application 11848910
Patent Application
App. No. 11/848,910

MODEL BASED DEVICE DRIVER CODE GENERATION

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
11/848,910
Abstract

A driver model is generated that describes the configuration of one or more driver objects. The driver model and developer driver code are compiled to generate a driver including a machine readable driver model and compiled developer driver code, wherein the machine readable driver model and the complied developer driver code are independently serviceable.

Claims (40)

1 . A method, comprising:

generating a driver model that describes the configuration of one or more driver objects;

receiving developer driver code;

compiling the driver model and the developer driver code to generate a driver including a machine readable driver model and compiled developer driver code, wherein the machine readable driver model and the complied developer driver code are independently serviceable; and

outputting the driver.

2 . The method of claim 1 , further comprising:

selecting the one or more driver objects from a group of driver objects.

3 . The method of claim 2 , further comprising:

configuring the one or more driver objects.

4 . The method of claim 3 wherein configuring the one or more driver objects includes configuring properties, methods, and events for a driver object.

5 . The method of claim 1 , further comprising:

validating that the driver model is in compliance with driver usage rules.

6 . The method of claim 1 wherein compiling the driver includes generating binding code for the driver, wherein the binding code includes code for binding of the driver model to the developer driver code.

7 . The method of claim 1 wherein the driver developer code includes event handler code for the device driver.

8 . The method of claim 1 wherein the one or more driver objects include one or more Windows Driver Foundation objects.

9 . One or more computer readable media including computer readable instructions that when executed perform the method of claim 1 .

10 . One or more computer readable media including computer readable instructions when executed by a target computing device perform operations comprising:

receiving a driver at the target computing device, the driver including:

a machine readable driver model that describes the configuration of one or more driver objects stored in a library on the target computing device; and

compiled developer driver code bound to the machine readable driver model, wherein the machine readable driver model and the compiled developer driver code are independently serviceable; and

compiling the driver on the target computing device.

11 . The one or more computer readable media of claim 10 wherein compiling the driver includes compiling the driver with an ahead of time compiler on the target computing device.

12 . The one or more computer readable media of claim 10 wherein compiling the driver includes:

configuring one or more driver objects stored in the library in accordance with the machine readable driver model; and

compiling the configured one or more driver objects.

13 . The one or more computer readable media of claim 10 wherein the computer readable instructions when executed further perform operations comprising:

receiving updates to the driver from another computing device, wherein the machine readable driver model and the compiled developer driver code may be updated independently of each other.

14 . The one or more computer readable media of claim 10 wherein the computer readable instructions when executed further perform operations comprising:

loading the driver into kernel space of the target computing device when the driver is verified safe.

15 . The one or more computer readable media of claim 10 wherein the computer readable instructions when executed further perform operations comprising:

loading the driver into user space of the target computing device when the driver is not verified safe.

16 . The one or more computer readable media of claim 10 wherein the one or more driver objects include one or more Windows Driver Foundation objects.

17 . A system, comprising:

one or more processing units; and

one or more computer readable media having a model based device driver code generation tool executable by the one or more processing units, the model based device driver code generation tool comprising:

a driver object manager to generate a driver model that describes the configuration of one or more driver objects; and

a compiler to bind the driver model to developer driver code to generate a driver file having a machine readable driver model and compiled developer driver code, wherein the machine readable driver model and the compiled developer driver code are independently serviceable.

18 . The system of claim 17 wherein the model based device driver code generation tool includes a user interface to allow a user to select representations of the driver objects and to configure the selected driver objects.

19 . The system of claim 17 wherein the compiler includes a validation tool, the validation tool to determine if the driver model is in compliance with driver usage rules.

20 . The system of claim 17 wherein the driver file includes a code behind file, wherein the code behind file includes developer driver code.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2007
From: RICHARDSON, JOHN; WIELAND, PETER W.
To: MICROSOFT CORPORATION
Reel/Frame 019772/0282 →