IP Library Granted Patent US 7,418,529
Granted Patent B2
US 7,418,529 · App. 11/433,620 · Granted Aug 26, 2008

Method and apparatus for communicating with an embedded controller which includes a reference to metadata objects within a computing device

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,418,529
App. No.
11/433,620
Granted
Aug 26, 2008
Kind
B2
Abstract

A system that communicates with an embedded controller within a computing device. During operation, the system queries the embedded controller to obtain information describing an interface for interacting with a functionality provided by the embedded controller. The system then receives a response from the computing device which includes a reference to a metadata object describing the interface. If the metadata object refers to other metadata objects, the system recursively queries the embedded controller to obtain information about the other metadata objects until a complete description of the interface is obtained.

Claims (74)

1. A method for communicating with an embedded controller within a computing device, comprising:

querying the embedded controller to obtain information describing an interface for interacting with a functionality provided by the embedded controller;

receiving a response from the embedded controller which includes a reference to a metadata object describing the interface; and

if the metadata object refers to other metadata objects, recursively querying the embedded controller to obtain information about the other metadata objects until a complete description of the interface is obtained;

wherein each metadata object defines a “key,” and wherein the embedded controller supports the following functions involving keys:

a function which reads a key;

a function which writes a key;

a function which counts keys supported by the embedded controller;

a function which returns a key by index; and

a function which returns information about a key.

2. The method of claim 1 , wherein the metadata object includes:

a data pointer, which points to data for the interface;

a field pointer, which points to fields which specify characteristics of the data; and

a description pointer, which points to a description of the structure of the data.

3. The method of claim 2 , wherein the fields can specify:

whether the data is readable and/or writeable;

whether the data is atomic; and

the size of the data.

4. The method of claim 2 ,

wherein the description of the structure of the data defines data items contained within the data; and

wherein a definition of a data item can specify a basic data type or can be a reference to another metadata object describing the structure of the data.

5. The method of claim 2 , further comprising:

retrieving data pointed to by the data pointer; and

using the description of the structure of the data to parse the retrieved data.

6. The method of claim 2 , wherein if the metadata object is associated with a function, reading the data causes the function to be executed on the embedded controller and also causes a result of the function and a success code to be returned from the computing device.

7. The method of claim 1 , wherein the method further comprises interacting with the embedded controller through a second non-extensible interface, which is not described through metadata.

8. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for communicating with an embedded controller within a computing device, wherein the method comprises:

querying the embedded controller to obtain information describing an interface for interacting with a functionality provided by the embedded controller;

receiving a response from the embedded controller which includes a reference to a metadata object describing the interface; and

if the metadata object refers to other metadata objects, recursively querying the embedded controller to obtain information about the other metadata objects until a complete description of the interface is obtained;

wherein each metadata object defines a “key,” and wherein the embedded controller supports the following functions involving keys:

a function which reads a key;

a function which writes a key;

a function which counts keys supported by the embedded controller;

a function which returns a key by index; and

a function which returns information about a key.

9. The computer-readable storage medium of claim 8 , wherein the metadata object includes:

a data pointer, which points to data for the interface;

a field pointer, which points to fields which specify characteristics of the data; and

a description pointer, which points to a description of the structure of the data.

10. The computer-readable storage medium of claim 9 , wherein the fields can specify:

whether the data is readable and/or writeable;

whether the data is atomic; and

the size of the data.

11. The computer-readable storage medium of claim 9 ,

wherein the description of the structure of the data defines data items contained within the data; and

wherein a definition of a data item can specify a basic data type or can be a reference to another metadata object describing the structure of the data.

12. The computer-readable storage medium of claim 9 , wherein the method further comprises:

retrieving data pointed to by the data pointer; and

using the description of the structure of the data to parse the retrieved data.

13. The computer-readable storage medium of claim 9 , wherein if the metadata object is associated with a function, reading the data causes the function to be executed on the embedded controller and also causes a result of the function and a success code to be returned from the computing device.

14. The computer-readable storage medium of claim 8 , wherein the method further comprises interacting with the embedded controller through a second non-extensible interface, which is not described through metadata.

15. An apparatus that communicates with an embedded controller within a computing device, comprising:

a querying mechanism configured to:

query the embedded controller to obtain information describing an interface for interacting with a functionality provided by the embedded controller; and

if the metadata object refers to other metadata objects, to recursively query the embedded controller to obtain information about the other metadata objects until a complete description of the interface is obtained; and

a receiving mechanism configured to receive a response from the embedded controller which includes a reference to a metadata object describing the interface; and

wherein each metadata object defines a “key”, and wherein the embedded controller supports the following functions involving keys:

a function which reads a key;

a function which writes a key;

a function which counts keys supported by the embedded controller;

a function which returns a key by index; and

a function which returns information about a key.

16. The apparatus of claim 15 , wherein the metadata object includes:

a data pointer, which points to data for the interface;

a field pointer, which points to fields which specify characteristics of the data; and

a description pointer, which points to a description of the structure of the data.

17. The apparatus of claim 16 , wherein the fields can specify:

whether the data is readable and/or writeable;

whether the data is atomic; and

the size of the data.

18. The apparatus of claim 16 ,

wherein the description of the structure of the data defines data items contained within the data; and

wherein a definition of a data item can specify a basic data type or can be a reference to another metadata object describing the structure of the data.

Assignments (2)
CHANGE OF NAME Recorded May 7, 2007
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 019265/0922 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2006
From: FALKENBURG, DAVID R.; HOAGLAND, RYAN A.
To: APPLE COMPUTER, INC.
Reel/Frame 017904/0659 →