← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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)

US4888691A Cited
US5555437A Cited
US5640592A Cited

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag