# US 7,613,862 B2 · Embedded driver for bus-connected device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,613,862 B2
- Document ID: US7613862B2
- Status: Granted
- Kind: B2
- Application number: 10/916,056
- Filed: 2004-08-10
- Published: 2006-02-16
- Granted: 2009-11-03
- Earliest claimed: 2004-08-10
- Assignees: Intel Corporation
- Inventors: Teodor R. Mihai
- Web page: https://patentgrep.com/patent/US7613862B2

## CPC

- G06F 9/4415: {Self describing peripheral devices}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A device including a storage component to store a driver for the device, and a device protocol handler to enable automatic upload of the driver to a storage subsystem of a processor based system in response to the device being communicatively coupled to a bus of the processor based system.

## Claims

### Claim 1

An apparatus comprising:
a storage component of a computer system to store a driver for a device on the computer system, the computer system further having a processor and a storage medium coupled with the processor via a bus; and
a protocol handler in communication with the storage component, the protocol handler to
determine whether the device belongs to a specific vendor and is compatible with a particular operating system, and enable automatic download of the driver to a storage subsystem of a computer system in response to the device belonging to the specific vendor and compatible with the particular operating system,
determine whether the device is identified as belonging to a specific class of devices and is compatible with the particular operating system if the device belonging to the specific vendor is not detected, and enable automatic download of the driver belonging to the specific class and the particular operating system, the specific class including a new device class corresponding to a new device having a new standard interface number and being analogous to device class interfaces associated with existing devices classes, the device to receive a command, and upon receiving the command, the device to search for a matching driver and to respond with a driver package size, wherein the driver package size is set to zero if the matching driver is not found, and
determine whether an operating system has an embedded driver compatible with the particular operation system if the driver belonging to the specific vendor and class is not detected, and enable automatic download of the embedded driver.

### Claim 2 (depends on 1)

The apparatus of claim 1 wherein the device further comprises a connector to communicatively couple the device to the bus of the computer system and wherein the protocol handler is further to establish communication with the computer system over the bus.

### Claim 3 (depends on 2)

The apparatus of claim 2 wherein the protocol handler is further to automatically establish communication with the device over the bus and to enable automatic download of the driver to the storage subsystem of the computer system.

### Claim 4 (depends on 3)

The apparatus of claim 3 wherein the protocol handler is further to identify the device as a member of a predetermined interface class, and the protocol handler is further to interact with devices in the predetermined interface class.

### Claim 5 (depends on 4)

The apparatus of claim 4 wherein the bus further comprises a serial bus with hot-plugging capability.

### Claim 6 (depends on 5)

The apparatus of claim 5 wherein the bus further comprises a bus compliant with a Universal Serial Bus (USB) protocol.

### Claim 7 (depends on 6)

The apparatus of claim 6 wherein the predetermined interface class comprises USB devices with embedded drivers.

### Claim 8

A method comprising:
storing a driver for a device on a storage component of the device on the computer system, the computer system further having a processor and a storage medium coupled with the processor via a bus;
determining whether the device belongs to a specific vendor and is compatible with a particular operating system, and enabling automatic download of the driver to a storage subsystem of a computer system in response to the device belonging to the specific vendor and compatible with the particular operating system;
determining whether the device is identified as belonging to a specific class of devices and is compatible with the particular operating system if the device belonging to the specific vendor is not detected, and enabling automatic download of the driver belonging to the specific class and the particular operating system, the specific class including a new device class corresponding to a new device having a new standard interface number and being analogous to device class interfaces associated with existing devices classes, the device to receive a command, and upon receiving the command, the device to search for a matching driver and to respond with a driver package size, wherein the driver package size is set to zero if the matching driver is not found; and
determining whether an operating system has an embedded driver compatible with the particular operation system if the driver belonging to the specific vendor and class is not detected, and enabling automatic download of the embedded driver.

### Claim 9 (depends on 8)

The method of claim 8 further comprising establishing communication with the device over the bus and to enable download of the driver to the storage subsystem of the computer system.

### Claim 10 (depends on 9)

The method of claim 9 further comprising identifying the device as a member of a predetermined interface class, and interacting with devices in the predetermined interface class.

### Claim 11 (depends on 10)

The method of claim 10 wherein the bus further comprises a serial bus with hot-plugging capability.

### Claim 12 (depends on 11)

The method of claim 11 wherein the bus further comprises a bus compliant with a Universal Serial Bus (USB) protocol.

### Claim 13 (depends on 12)

The method of claim 12 wherein the predetermined interface class comprises USB devices with embedded drivers.

### Claim 14

A machine-readable storage medium comprising instructions which, when executed, further cause a machine to:
store a driver for a device on a storage component of the device on the computer system, the computer system further having a processor and a storage medium coupled with the processor via a bus;
determine whether the device belongs to a specific vendor and is compatible with a particular operating system, and enable automatic download of the driver to a storage subsystem of a computer system in response to the device belonging to the specific vendor and compatible with the particular operating system, and
determine whether the device is identified as belonging to a specific class of devices and is compatible with the particular operating system if the device belonging to the specific vendor is not detected, and enable automatic download of the driver belonging to the specific class and the particular operating system, the specific class including a new device class corresponding to a new device having a new standard interface number and being analogous to device class interfaces associated with existing devices classes, the device to receive a command, and upon receiving the command, the device to search for a matching driver and to respond with a driver package size, wherein the driver package size is set to zero if the matching driver is not found; and
determine whether an operating system has an embedded driver compatible with the particular operation system if the driver belonging to the specific vendor and class is not detected, and enable automatic download of the embedded driver.

### Claim 15 (depends on 14)

The machine-readable storage medium of claim 14 wherein the instructions when executed further cause the machine to establish communication with the device over the bus and to enable download of the driver to the storage subsystem of the computer system.

### Claim 16 (depends on 15)

The machine-readable storage medium of claim 15 wherein the instructions when executed further cause the machine to identify the device as a member of a predetermined interface class, and to interact with devices in the predetermined interface class.

### Claim 17 (depends on 16)

The machine-readable storage medium of claim 16 wherein the bus further comprises a serial bus with hot-plugging capability.

### Claim 18 (depends on 17)

The machine-readable storage medium of claim 17 wherein the bus further comprises a bus compliant with a Universal Serial Bus (USB) protocol.

### Claim 19 (depends on 18)

The machine-readable storage medium of claim 18 wherein the predetermined interface class comprises USB devices with embedded drivers.
