# US 7,412,547 B2 · Apparatus, system, and method for distributed processing with a peripheral input/output channel based device

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

- Number: US 7,412,547 B2
- Document ID: US7412547B2
- Status: Granted
- Kind: B2
- Application number: 10/744,667
- Filed: 2003-12-23
- Published: 2005-06-23
- Granted: 2008-08-12
- Earliest claimed: 2003-12-23
- Assignees: Lenovo Pte. Ltd.
- Inventors: Kevin Michael Reinberg; Richard Joseph Zabelicky
- Web page: https://patentgrep.com/patent/US7412547B2

## CPC

- G06F 13/102: {where the program performs an interfacing function, e.g. device driver (G06F13/105 takes precedence; contention policies within device drivers G06F9/4881; scheduling within device drivers G06F9/52)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An apparatus, system and method of distributed processing are disclosed. The apparatus, system, and method communicate a software process from a driver device through a peripheral input/output channel to a processing device. The driver device and the processing device execute a common instruction set. The processing device executes the software process, reducing the processing demand on the driver device. The processing device may interface with a peripheral device through the peripheral input/output channel. In addition, the processing device communicates results data through the peripheral input/output channel in an isochronous transfer to the driver device.

## Claims

### Claim 1

An processing device, the device comprising:
an input/output module in electrical communication with a peripheral input/output channel, the peripheral input/output channel configured for direct device-to-device communication at a low data transfer rate with isochronous data transfers, the input/output module configured to receive a software process from a driver device, the software process configured to employ the instruction set of the driver device;
a software manager configured to manage the execution of the software process, wherein the software manager employs the instruction set of the driver device; and
a processor module configured to execute the software process and the software manager, the processor module receiving commands from the driver device and executing the software process in coordination with the driver device, the processor module further configured to communicate data solely through the peripheral input/output channel of the input/output module as an isochronous data transfer.

### Claim 2 (depends on 1)

The processing device of claim 1, wherein the peripheral input/output channel is a universal serial bus.

### Claim 3 (depends on 1)

The processing device of claim 1, wherein the peripheral input/output channel is an infrared communications channel.

### Claim 4 (depends on 1)

The processing device of claim 1, wherein the software process is an audio software process.

### Claim 5 (depends on 1)

The processing device of claim 1, wherein the input/output module is in electrical communication with a peripheral device.

### Claim 6 (depends on 1)

The processing device of claim 1, wherein input/output module receives electrical current from the peripheral input/output channel, the electrical current powering the processing device.

### Claim 7 (depends on 1)

The processing device of claim 1, the software manager further configured to execute real-time software processes.

### Claim 8 (depends on 1)

The processing device of claim 1, wherein the input/output module receives the software manager, the input/output module further configured to initiate the execution of the software manager on the processor module.

### Claim 9

A processing device, the device comprising:
an input/output module in electrical communication with a universal serial bus, the input/output module configured to receive an audio software process from a driver device, wherein the audio software process employs the instruction set of the driver device;
a software manager configured to manage the execution of the audio software process, wherein the software manager employs the instruction set of the driver device; and
a processor module configured execute the software process and the software manager, the processor module receiving commands from the driver device and executing the software process in coordination with the driver device, the processor module further configured to communicate data as an isochronous transfer solely through the universal serial bus of the input/output module.

### Claim 10

A driver device, the device comprising:
a software process configured to employ the instruction set of a driver device;
an input/output module in electrical communication with a processing device through a peripheral input/output channel, the peripheral input/output channel configured for direct device-to-device communication at a low data transfer rate with isochronous data transfers, the processing device configured to communicate data as an isochronous transfer solely through the peripheral input/output channel; and
a driver software module configured to communicate the software process to the processing device through the input/output module and the peripheral input/output channel, the driver software module further configured to coordinate the execution of the software process on the processing device.

### Claim 11 (depends on 10)

The driver device of claim 10, the driver software module further configured to receive data from the processing device.

### Claim 12

A system for distributed processing, the system comprising:
a peripheral input/output channel configured for direct device-to-device communications at a low data transfer rate with isochronous data transfers;
a driver device in electrical communication with the peripheral input/output channel, the driver device configured to communicate a software process; and
a processing device in electrical communication with the driver device solely through the peripheral input/output channel, the processing device configured to execute the instruction set of the driver device, the processing device further configured to receive the software process and to execute the software process in coordination with the driver device, the processing device communicating data as an isochronous transfer.

### Claim 13 (depends on 12)

The system of claim 12, wherein the processing device receives a copy protection right of the driver device, the processing device configured with the copy protection right of the driver device.

### Claim 14 (depends on 12)

The system of claim 12, wherein the peripheral input/output channel is a universal serial bus.

### Claim 15 (depends on 12)

The system of claim 12, wherein the peripheral input/output channel is an infrared communications channel.

### Claim 16 (depends on 12)

The system of claim 12, the processing device configured to execute a real-time software process.

### Claim 17 (depends on 12)

The system of claim 12, further comprising a peripheral device in electrical communication with the processing device.

### Claim 18 (depends on 12)

The system of claim 12, wherein processing device receives electrical current from the peripheral input/output channel, the electrical current powering the processing device.

### Claim 19

A computer readable storage medium comprising computer readable code configured to:
receive a software process from a driver device through a peripheral input/output channel at a processing device, the peripheral input/output channel configured for direct device-to-device communications at a low data transfer rate, the processing device and the driver device configured to execute a common instruction set, the processing device further configured to communicate data as an isochronous transfer;
schedule execution of the software process on the processing device through the peripheral input/output channel; and
execute the software process on the processing device in coordination with the driver device.

### Claim 20 (depends on 19)

The computer readable storage medium of claim 19, wherein the peripheral input/output channel is a universal serial bus.

### Claim 21 (depends on 19)

The computer readable storage medium of claim 19, the computer readable code further configured to receive a copy protection right from the driver device.

### Claim 22 (depends on 19)

The computer readable storage medium of claim 19, the computer readable code further configured to communicate data from the processing device through the peripheral input/output channel to the driver device in an isochronous transfer.

### Claim 23 (depends on 19)

The computer readable storage medium of claim 19, the computer readable code further configured to communicate with a peripheral device.

### Claim 24 (depends on 19)

The computer readable storage medium of claim 19, the computer readable code further configured to emulate an operating system of the driver device, wherein the operating system is configured to host the software process.

### Claim 25 (depends on 19)

The computer readable storage medium of claim 19, the computer readable code further configured to execute the software process as a real-time software process.

### Claim 26 (depends on 19)

The computer readable storage medium of claim 19, the computer readable code further configured with a software manager, the software manager configured to manage the software process.

### Claim 27

A method for distributed processing, the method comprising:
receiving a software process from a driver device through a peripheral input/output channel at a processing device, the peripheral input/output channel configured for direct device-to-device communications at a low data transfer rate, the processing device and the driver device configured to execute a common instruction set, the processing device further configured to communicate data as an isochronous transfer;
scheduling execution of the software process on the processing device through the peripheral input/output channel; and
executing the software process on the processing device in coordination with the driver device.

### Claim 28 (depends on 27)

The method of claim 27, wherein the peripheral input/out channel is a universal serial bus.

### Claim 29 (depends on 27)

The method of claim 27, further comprising receiving the copy protection right of the driver device.

### Claim 30

An apparatus for distributed processing, the apparatus comprising:
means for receiving a software process from a driver device through a peripheral input/output channel at a processing device, the peripheral input/output channel configured for direct device-to-device communications at a low data transfer rate, the processing device and the driver device configured to execute a common instruction set, the processing device further configured to communicate data as an isochronous transfer;
means for scheduling execution of the software process on the processing device through the peripheral input/output channel; and
means for executing the software process on the processing device in coordination with the driver device.
