US5835783A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for uploading peripheral control functions to host
Assignee: Intel Corp
•
Filing: 1996-09-12
•
Granted: 1998-11-10
•
Expires: 2016-09-12
Abstract
Abstract A computer system having a memory allocation function is further programmed with a service provider for performing on behalf of a peripheral device, functions for controlling the peripheral device, uploaded by the peripheral device. A number of data structures are employed to facilitate uploading of the functions, and returning of the function results to the peripheral device. The peripheral device is constituted with logic for uploading the functions, at the peripheral device initiative, and retrieving the function results, when they become available, through the data structures.
Inventors
- 👤 Knut Grimsrud
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-06 08:38
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/10; G06F13/12; G06F13/124; G06F13/126
Claims Analysis
Total Claims: 32
Claim 1
Independent Claim
68 words
A peripheral device comprising a controller having operating logic that uploads on the peripheral device's own initiative a plurality of functions to a host system hosting the peripheral device to have the uploaded functions performed on the host system for the peripheral device, the uploaded functions being functions for controlling the peripheral device, and the uploading being accomplished using command blocks, which are identified to the host system.
Claim 2
Dependent Claim
68 words
A peripheral device comprising a controller having operating logic that uploads on the peripheral device's own initiative a plurality of functions to a host system hosting the peripheral device to have the uploaded functions performed on the host system for the peripheral device, the uploaded functions being functions for controlling the peripheral device, and the uploading being accomplished using command blocks, which are identified to the host system.
Claim 3
Dependent Claim
27 words
The peripheral device as set forth in claim 1, wherein the operating logic includes logic for placing commands of the functions being uploaded into the command blocks.
Claim 4
Dependent Claim
44 words
The peripheral device as set forth in claim 1, wherein the command blocks are also used as status blocks for returning function completion status to the peripheral device, and the operating logic includes logic that pre-writes successful function completion status into the command/status blocks.
Claim 5
Dependent Claim
47 words
The peripheral device as set forth in claim 1, wherein the command blocks are also used as status blocks for returning function completion status to the peripheral device, and the operating logic includes logic that reads function completion status stored in the command/status blocks, and responds accordingly.
Claim 6
Dependent Claim
39 words
The peripheral device as set forth in claim 1, wherein the command blocks are identified to the host by pointers pointing to the command blocks, and the operating logic includes logic that enqueues the pointers in an inbound queue.
Claim 7
Dependent Claim
63 words
The peripheral device as set forth in claim 1, wherein the command blocks are also used as status blocks for returning function completion status to the peripheral device, the command/status blocks being identified to the peripheral device using pointers pointing to the command/status blocks with function completion status, and the operating logic includes logic that dequeues the stored pointers from an outbound queue.
Claim 8
Dependent Claim
70 words
The peripheral device as set forth in claim 1, wherein the command blocks are also used as status blocks for returning function completion status to the peripheral device, as well as for providing commands to the peripheral device, the command/status blocks being typed, and the operating logic includes logic that types command/status blocks being used for uploading functions as an inbound type, and logic that determines a command/status block's type.
Claim 9
Dependent Claim
61 words
The peripheral device as set forth in claim 1, wherein the command blocks are also used as status blocks for returning function completion status to the peripheral device, as well as for providing commands to the peripheral device and returning command completion status to the host, and the operating logic includes logic that stores command completion status into the command/status blocks.
Claim 10
Dependent Claim
77 words
In a peripheral device, a method for uploading functions for controlling the peripheral device to a host for performance of the uploaded functions by the host, the method comprising: a) storing full description of a function to be uploaded in a command block; b) identifying the command block to the host; c) receiving identification of a status block from the host; and d) retrieving function completion status of a previously uploaded function from the identified status block.
Claim 11
Dependent Claim
77 words
In a peripheral device, a method for uploading functions for controlling the peripheral device to a host for performance of the uploaded functions by the host, the method comprising: a) storing full description of a function to be uploaded in a command block; b) identifying the command block to the host; c) receiving identification of a status block from the host; and d) retrieving function completion status of a previously uploaded function from the identified status block.
Claim 12
Dependent Claim
23 words
The method as set forth in claim 9, wherein step (a) includes storing commands of the function being uploaded in the command block.
Claim 13
Dependent Claim
46 words
The method as set forth in claim 9, wherein the command block of steps (a) and (b) and the status block of steps (c) and (d) are the same command/status block, and step (a) further includes pre-writing a successful function completion status into the command/status block.
Claim 14
Dependent Claim
24 words
The method as set forth in claim 9, wherein step (d) includes reading and responding to function completion status stored in the status block.
Claim 15
Dependent Claim
24 words
The method as set forth in claim 9, wherein step (b) includes enqueuing a pointer pointing to the command block in an inbound queue.
Claim 16
Dependent Claim
24 words
The method as set forth in claim 9, wherein step (d) includes dequeuing a pointer pointing to the status block in an outbound queue.
Claim 17
Dependent Claim
105 words
The method as set forth in claim 9, wherein the command block of steps (a) and (b) and the status block of steps (c) and (d) are the same command/status block, the command/status blocks are typed and also used to provide commands to the peripheral device, with the command/status blocks of a first type being used for uploading functions to the host, and returning function completion status to the peripheral device, and a second type being used for providing commands to the peripheral device, step (a) further includes typing command/status block to the first type, and step (d) further includes determining a command/status block's type.
Claim 18
Dependent Claim
127 words
The method as set forth in claim 9, wherein the command block of steps (a) and (b) and the status block of steps (c) and (d) are the same command/status block, the command/status blocks are typed and also used to provide commands to the peripheral device, with the command/status blocks of a first type being used for uploading functions to the host, and returning function completion status to the peripheral device, and a second type being used for providing commands to the peripheral device, and returning command completion status to the host, and the method further includes step (d) responding to a command stored in a command/status block of the second type, and step (e) storing command completion status in the command/status block of the second type.
Claim 19
Dependent Claim
69 words
A computer system comprising: (a) a storage medium having stored therein a plurality of programming instructions; (b) an execution unit coupled to the storage medium to execute the programming instructions to perform functions uploaded from a peripheral device for the peripheral device, the functions being self-descriptive and being performed for controlling the peripheral device, and the uploading being accomplished through command blocks, which are identified to the programming instructions.
Claim 20
Dependent Claim
69 words
A computer system comprising: (a) a storage medium having stored therein a plurality of programming instructions; (b) an execution unit coupled to the storage medium to execute the programming instructions to perform functions uploaded from a peripheral device for the peripheral device, the functions being self-descriptive and being performed for controlling the peripheral device, and the uploading being accomplished through command blocks, which are identified to the programming instructions.
Claim 21
Dependent Claim
42 words
The computer system as set forth in claim 17, wherein the command blocks are identified to the programming instructions using pointers stored in an inbound queue; and the execution further executes the programming instructions to dequeue pointers stored in the inbound queue.
Claim 22
Dependent Claim
48 words
The computer system as set forth in claim 17, wherein the command blocks are also used to return corresponding function completion status to the peripheral device; and the execution unit further executes the programming instructions to store function completion status into the corresponding ones of the command/status blocks.
Claim 23
Dependent Claim
50 words
The computer system as set forth in claim 17, wherein the command blocks are also used to return corresponding function completion status to the peripheral device; the execution unit further executes the programming instructions to enqueue pointers pointing to the command/status blocks with function completion status in an outbound queue.
Claim 24
Dependent Claim
87 words
The computer system as set forth in claim 17, wherein the command blocks are also used to return function completion status to the peripheral device, as well as provide commands of a device driver to the peripheral device, the command/status blocks being typed, with a first type that uploads functions for the programming instructions and returning function completion status to the peripheral device, and a second type for providing commands of the device driver to the peripheral device, and the programming instructions further types a command/status block.
Claim 25
Dependent Claim
115 words
The computer system as set forth in claim 17, wherein the command blocks are also used to return function completion status to the peripheral device, as well as provide commands of a device driver to the peripheral device and return command completion status to the device driver, the command/status blocks being typed, with a first type for uploading functions to the programming instructions and returning function completion status to the peripheral device, and a second type for providing commands of the device driver to the peripheral device and returning command completion status to the device driver, and the programming instructions include logic for determining a command/status block's type and logic for typing a command/status block.
Claim 26
Dependent Claim
67 words
In a computer system, a method for facilitating performance of functions uploaded from a peripheral device for controlling the peripheral device, the method comprising: a) locating command blocks set up and identified by the peripheral device at the peripheral device's own initiative; b) executing commands pre-stored by the peripheral device in the command blocks; and c) identifying status blocks with function completion status to the peripheral device.
Claim 27
Dependent Claim
67 words
In a computer system, a method for facilitating performance of functions uploaded from a peripheral device for controlling the peripheral device, the method comprising: a) locating command blocks set up and identified by the peripheral device at the peripheral device's own initiative; b) executing commands pre-stored by the peripheral device in the command blocks; and c) identifying status blocks with function completion status to the peripheral device.
Claim 28
Dependent Claim
37 words
The method as set forth in claim 23, wherein step (a) includes dequeuing pointers from an inbound queue, the pointers being placed into the inbound queue by the peripheral device and correspondingly pointing to the command blocks.
Claim 29
Dependent Claim
114 words
The method as set forth in claim 23, wherein the command blocks of step (a) and the status block of step (c) are the same command/status block, the command/status blocks being also used for providing commands of a device driver to the peripheral device, and returning command completion status to the device driver, the command/status blocks being typed, with a first type being used for uploading functions from the peripheral device and returning function status to the peripheral device, and a second type being used for providing commands of the device driver to the peripheral device and returning command completion status to the device driver, and step (b) includes determining a command/status block's type.
Claim 30
Dependent Claim
39 words
The method as set forth in claim 23, wherein the command blocks of step (a) and the status block of step (c) are the same command/status block, and step (c) includes storing function completion status into the command/status blocks.
Claim 31
Dependent Claim
26 words
The method as set forth in claim 23, wherein step (c) includes enqueuing pointers into an outbound queue, the pointers correspondingly pointing to the status blocks.
Claim 32
Dependent Claim
139 words
The method as set forth in claim 23, wherein the command blocks of step (a) and the status block of step (c) are the same command/status block, the command/status blocks being also used for providing commands of a device driver to the peripheral device, and returning command completion status to the device driver, the command/status blocks being typed, with a first type being used for uploading functions from the peripheral device and returning function status to the peripheral device, and a second type being used for providing commands of the device driver to the peripheral device and returning command completion status to the device driver, and the method further includes step (d) storing commands of a device driver into a command/status block, and step (e) identifying the command/status block with commands of a device driver to the peripheral device.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-11-09 | 2002-05-11 | 2002-11-10 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-11-09 | 2006-05-11 | 2006-11-10 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-11-09 | 2010-05-11 | 2010-11-10 | $7700.00 | Window Closed / Lapsed |