Method for communication from a host computer to a...

Electrical computers and digital data processing systems: input/ – Input/output data processing – Peripheral configuration

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S008000, C710S305000, C713S001000, C713S152000, C714S025000

Reexamination Certificate

active

06804727

ABSTRACT:

BACKGROUND
The present invention involves a method for communicating a host computer to a peripheral device, and specifically, a method for configuring a USB (Universal Serial Bus) device to a USB host.
The Universal Serial Bus (USB) is intended to be in an industry-standard extension to the PC architecture that is designed to support data exchange between a host computer and a wide range of simultaneously accessible peripherals. The attached peripherals share USB bandwidth through a host-scheduled, token-based protocol. The bus allows peripherals to be attached, configured, used, and detached while the host and other peripherals are in operation.
The USB connects USB devices with the USB host. Standard USB devices include USB hub devices, USB peripheral devices and USB peripheral devices that are also USB hub devices. The USB physical interconnect is a tiered star topology. A USB hub is at the center of each star. Each USB wire segment is a point-to-point connection between the host and the hub or peripheral, or a hub connected to another hub or peripheral. There is only one host in any USB system. The USB interface to the host computer system is referred to as the host controller, where the host controller may be implemented in a combination of hardware, firmware, or software. A root hub is integrated within the host system to provide one of more USB attachment points.
USB hubs provide additional attachment points to the USB system. USB peripherals provide capabilities to the system, such as a keyboard, monitor, printer, etc.
USB hubs are wiring concentrators and enable the multiple attachment characteristics of the USB. Attachment points are referred to as ports. Each hub converts a single attachment point into multiple attachment points. The USB architecture supports concatenation of multiple hubs. The upstream port of a hub connects the hub towards the host, while each downstream port of a hub allows connection to another hub or peripheral. Hubs can detect attachments and detachments at each downstream port and enable the distribution of power to the downstream devices.
A USB peripheral is able to transmit or receive data or control information over the bus. A peripheral is typically implemented with a USB cable that plugs into a USB port on a USB hub. However, a physical package may implement multiple peripherals and an embedded hub with a single USB cable. This is known as a compound device, which appears to the host as a USB hub with one or more non-removable USB devices.
Each peripheral contains configuration information that describes its capabilities and resource requirements to the USB host. Before a peripheral can be used, it must first be configured by the host. This configuration includes allocating USB bandwidth in selecting function-specific configuration options. To assist the host in identifying and configuring such USB peripherals, each peripheral carries and reports configuration-related information to the USB host. Some of the information reported is common among all logical devices, while other information is specific to the functionality provided by the particular USB peripheral.
USB devices (peripherals and/or hubs) report their attributes to the USB host using descriptors. A descriptor is a data structure with a defined format and describes general information to the USB host about the attached USB device. It includes information that applies globally to the USB device and all of the device's configurations. Fields included within the standard device descriptor will include a Product ID assigned by the manufacturer (“idProduct”), a Vendor ID assigned by USB (“idVendor”), an index to a String Descriptor which describes the manufacturer (“iManufacturer”), an index to a String Descriptor describing the product (“iProduct”) and an index to a String Descriptor describing the device's serial number (“iSerialNumber”). For more detailed information on the Universal Serial Bus refer to the Universal Serial Bus Revision 2.0 specification, available on-line at www.usb.org/developers/docs.html.
Presently, USB can support up to 127 devices on a single bus. Therefore, multiple printers of the same model may be attached to a single USB. It is desirable, therefore, to have such printers identify themselves over the USB so that the user can select which of the printers is to be used for a particular printer job. While the serial number may be a conventional way to identify the printer to the user, such a number might not be easily understandable by the user or to other users that may use the system at a later time. Furthermore, adding the serial number to the printer involves another step in the manufacturing process, which may undesirable increase the costs and complexity of the printer.
Accordingly, there is a need to provide a easy and convenient way for a user to incorporate multiple peripheral devices (such as printers) into a USB system where such multiple USB devices are easily identifiable by the user.
SUMMARY
The present invention provides a method for communicating a host computer to a peripheral device; and more particularly, a method for configuring a USB device (such as a USB printer) to a USB host device (such as a PC). One advantageous feature that the method of the present invention provides is that it allows the USB host to identify between multiple USB devices; and therefore, allows the user to easily identify and select from between multiple of USB connected devices.
A specific feature of the present invention allows the user to enter a user-defined description for the USB device the first time the USB device is plugged into the host computer. The identification could be the serial number or a descriptive string, such as “printer on the shelf.” The identification is preferably stored in non-volatile memory in the USB device, either in flash memory or EEPROM. This non-volatile memory is initialized during manufacturing of the USB device in a manner such that the USB host driver knows that the user has not assigned an identification string to the USB device the first time it is connected to the USB host. Upon initial communication with the USB device, the USB host driver will prompt the user for an identification string. The driver may also provide a method for changing the identification string if, for example, the user moves the “printer on the shelf” from the shelf to another part of his or her office such as a desk.
As an alternative to storing the identification string on the USB device, the USB device could send any unique identifier to USB host and the USB host could then associate the user assigned string with the USB device's unique identifier. One source of unique identification numbers available to a printer is a temperature sensor, such as a Dallas Semiconductor® sensor commonly used in Lexmark® Ink Jet Printers. The number provided by the sensor would be meaningless to the USB host unless it was first associated with some other identifier. The USB host could prompt for an identifier as soon as an unknown printer was connected to the USB system. The device driver for the printer would present a prompt to the user, such as “enter an identification string for the printer that was just connected to the USB.” If multiple unknown USB printers are detected at system boot, the device driver for the printers could ask that all but one of the printers be disconnected and then sequentially reconnected one-at-a-time while their respective identifiers are entered.
Another possible source of a unique identifier on a USB printer is in the printhead memory module. The printhead memory module may be written with the date of manufacture and could also contain a value that is incremented for each printhead manufactured on a given day. This combination of the date and daily build number would create a unique identifier.
Accordingly, it is one aspect of the present invention to provide a method for communicating a host computer to a peripheral device that includes the steps of: (a) coupling the peripheral devices to the host computer; (b) tran

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method for communication from a host computer to a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method for communication from a host computer to a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for communication from a host computer to a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3276901

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.