IP Library Granted Patent US 7,200,745
Granted Patent B2
US 7,200,745 · App. 10/661,691 · Granted Apr 3, 2007

System and method for specifying and utilizing hardware functionality by executing a common hardware register pseudo-language

View Patent ↗
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 7,200,745
App. No.
10/661,691
Granted
Apr 3, 2007
Kind
B2
Abstract

A system and method that utilizes a common hardware register pseudo-language are disclosed. The present invention employs a common platform to specify hardware functionality and to execute hardware action(s). Hardware actions can be effectuated by performing a series of instructions, which comprise hardware register primitives and resources utilized by the primitives. The hardware register primitives are operations defined according to the common hardware register pseudo-language. The series of instructions can be loaded prior to boot or during initialization.

Claims (40)

1. A computer implemented system that facilitates specifying and utilizing hardware functionality, comprising:

a specification component that specifies hardware functionality via execution of a common hardware register pseudo-language, the language comprising a set of hardware register primitives that are defined for respective device classes, and provide a framework for the specification component to specify functionality of hardware.

2. The system of claim 1 , the set of primitives that are loaded prior to at least one of: boot-up and during initialization.

3. The system of claim 2 , the set of primitives is concurrently loaded with an advanced configuration and power interface (ACPI) table.

4. The system of claim 1 , further comprising a linking component that links instructions to effect a particular higher-level functionality.

5. The system of claim 4 , at least one of the instructions is associated with a plurality of registers.

6. The system of claim 4 , the instructions comprise primitive(s) and corresponding resources with respect to a particular action.

7. The system of claim 4 , the instructions are unique dependent upon a vendor's proprietary hardware.

8. The system of claim 1 , a subset of the primitives effects reading from a hardware register.

9. The system of claim 1 , a subset of the primitives effects writing to a hardware register.

10. The system of claim 1 , the set of primitives includes at least bit-masked reading from a hardware register.

11. The system of claim 1 , the set of primitives includes at least bit-masked writing to a hardware register.

12. The system of claim 1 , the pseudo-language is a complete set of possible operations that can be performed upon a generic hardware register.

13. The system of claim 1 , further comprising a common driver that supports functionality of the hardware.

14. The system of claim 1 , further comprising an artificial intelligence (AI) component that infers characteristics of a hardware device.

15. The system of claim 14 , the AI component infers a series of instructions to perform a high level action.

16. The system of claim 15 , the instructions comprise a primitive and resources to perform a primitive.

17. The system of claim 15 , the AI component comprises an implicitly trained classifier.

18. The system of claim 15 , the AI component performs a probabilistic-based utility analysis in connection with loading the set of primitives.

19. A method that specifies hardware functionality, comprising:

determining a hardware device type; and

loading a series of instructions prior to operating system kernel availability wherein the instructions comprise at least primitives that are defined by a common hardware register pseudo-language.

20. The method of claim 19 , loading an advanced configuration and power interface (ACPI) table concurrent with the instructions.

21. The method of claim 19 , linking the series of instructions to effectuate a high level action.

22. The method of claim 21 , performing the series of instructions upon at least one hardware register.

23. The method of claim 21 , performing at least one instruction with more than one register.

24. The method of claim 19 , inferring the series of instructions to perform a high level action with artificial intelligence.

25. A system specifying hardware functionality, comprising:

means for specifying a hardware functionality; and

means for linking instructions that comprise at least hardware register primitives, wherein the primitives are defined by a common hardware register pseudo-language.

26. The system of claim 25 , further comprising means for concurrently loading the instructions with an advanced configuration and power interface (ACPI) table.

27. The system of claim 25 , further comprising means for linking a subset of the instructions to effect a particular higher-level functionality.

28. The system of claim 25 , further comprising means for associating at least one instruction with a plurality of registers.

29. The system of claim 25 further comprising means for describing the instruction as primitive operation(s) and corresponding resources with respect to a particular action.

30. The system of claim 25 , further comprising means for inferring characteristics of a hardware device.

31. The system of claim 30 , further comprising means for assembling the set of primitives.

32. The system of claim 30 further comprising means for performing a probabilistic-based utility analysis in connection with executing the set of instructions.

33. A computer readable medium having stored thereon the computer-executable component(s) of claim 1 .

34. A computer readable medium having stored thereon the computer-executable instructions for implementing the method of claim 19 .

35. A computer readable medium having stored thereon the system of claim 25 .

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
CORRECTION TO CONVEYING PARTIES 014501/0598 Recorded Jul 26, 2004
From: SCHWARTZ, JAMES A., JR.; PLANTE, STEPHANE G.; NELSON, ROBERT B.
To: MICROSOFT CORPORATION
Reel/Frame 014902/0846 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2003
From: SCHWARTZ, JAMES A., JR.; PLANTE, STEPHANE G.
To: MICROSOFT CORPORATION
Reel/Frame 014501/0598 →