Electrical computers and digital data processing systems: input/ – Input/output data processing – Peripheral configuration
Reexamination Certificate
1999-07-28
2002-07-09
Shin, Christopher B. (Department: 2182)
Electrical computers and digital data processing systems: input/
Input/output data processing
Peripheral configuration
C710S104000, C709S217000
Reexamination Certificate
active
06418486
ABSTRACT:
BACKGROUND OF THE INVENTION
This invention is directed to managing the interaction between a peripheral device such as a printer, an external disk drive, or a networked appliance and a computer to which it is coupled. In particular, the present invention uses a generic software to interpret static information stored at the device to enable the device to communicate with the computer, with other devices, and with remote sites with which it may communicate through a network.
As used herein, a “device” is hardware (that can include software) that provides some useful functionality when coupled to a computer. Examples of a device include a printer, a scanner, a modem, a home security system, a television, a light switch and a telephone. In the process of providing useful functionality, the device communicates with the computer, and/or with other devices also coupled to the same or another computer, and/or with remote sites with which the device is coupled, e.g., through a network. As used herein, the term “coupled” means directly or indirectly connected. Thus, A is coupled to B is A is directly connected to B. A is also coupled to B if A is directly connected to C, and C is directly connected to B.
One type of computer includes a microprocessor, such as the Pentium III microprocessor manufactured by the Intel Corporation of Santa Clara, California; a memory, such as read only memory (ROM), random access memory (RAM), a hard disk, etc., or any combination thereof; and a port through which the microprocessor communicates with the device and/or other sites (e.g., through a network). Examples of a computer include a Dell XPS T microcomputer and an Apple Macintosh computer. Another type of computer includes an Application Specific Integrated Circuit (ASIC) that is designed in hardware and firmware to perform certain specific tasks. An example of an ASIC is a digital signal processor.
A remote site can include a device and/or a computer. A device communicates with another entity (computer, other device, remote site) that executes a software application. Examples of software applications include a word processor, a home automation software package, a telecommunications software package, an Internet telephone program, a home intrusion detection and prevention program, and a control program for a television. When an application calls for functionality provided by a device, the application can send a message to the device, e.g., requesting a service (“turn on the light”, “alert the police department”, “print this document”, etc.) The device can send also send a message to the application, e.g., “I am ready”, “send the document”, “the light has been turned on”, etc. Thus, an application and a device can communicate with each other, provided the computer on which the application is run and the device are somehow coupled. In many cases, the application and the device communicate with each other through an operating system, such as the LINUX operating system (described at <www.linux.com>, visited Jul. 8, 1999), or the Windows 98 operating system made by the Microsoft Corporation. The operating system is an “intermediate application” that operates between the device and the “end application” that provides the ultimate functionality to the user, e.g., a word processing program, a home device control program, etc. As used herein, the term “application” can refer to either an intermediate application, such as an operating system, or to an end application.
Computers, applications and devices are often not manufactured by the same entity. Devices made by different manufacturers have distinct command sets for providing services. Thus, printers made by different manufacturers can have different command sets for receiving and printing a document from an application. Likewise, applications from different manufacturers can send requests for services to devices in different formats. For example, one word processor can send a document to a printer in a first format, while a second word processor made by a different manufacturer can send a document with the same content to a printer in an entirely different format. In short, different applications “speak” different languages, and different devices also “speak” different languages. Thus, communication between applications and devices can be problematic.
A known solution to this problem is to use a piece of software called a “driver” to translate communications from a given application to a format that can be understood by a particular device, and vice versa. For example, a printer driver is made that translates print commands between the WordPerfect word processor, made by the Corel Corporation, and the Hewlett Packard Deskjet 520 color printer, made by the Hewlett Packard company. Typically, a driver is specific to the computer and operating system with which the device is to be used.
The diversity in both applications and devices has resulted in the proliferation of drivers, making it more complex and difficult to properly distribute and maintain them. A known distribution model is to include every driver a user may conceivably require at any time along with the operating system that is included with a computer when it is shipped to a user. This is inefficient, as it almost invariably means including thousands of drivers that the user does not and will never need. It is also practically impossible to include a complete set, because there is an unavoidable lag between the time a new device becomes available and the operating system manufacturer becomes aware of it, receives the appropriate drivers, and is able to include them in with the operating system. Thus, the user is faced with the prospect of not having available a driver for a new device she couples to her computer. Likewise, the problem of getting new drivers that are produced after the computer is shipped to the user persists. Periodic updates (e.g., over the Internet) are possible, but cumbersome and inefficient.
Drivers can become outdated. Just like most software, improvements can be made to a driver, and successive versions can be released by the device manufacturer. Distributing these to users can be logistically difficult, if not impossible, as the manufacturer has no mechanism for easily distributing updated drivers after the device is purchased. One known solution to this problem is to include special installation software for a particular device on a computer that would automatically execute when it detected that the device was coupled to the computer. The special installation software includes information about the computer and about the device, and installs the correct driver (and possibly other applications) automatically, in some cases fetching them from a remote site over the Internet. In one embodiment, the special installation software uses a Uniform Resource Locator stored at the device to obtain the driver from a manufacturer page on the World Wide Web through the Internet. This partially solves the problem by providing the manufacturer with means for distributing the latest, most up-to-date version of the correct driver, as well as ancillary applications and components for using the device. But the special installation software is particular to a given device, or set of devices from a certain manufacturer. Thus, a different special installation software program must be included on a computer for each device, or each manufacturer of devices. This is inefficient, and it can be practically impossible to include a complete set of special installation software for all manufacturers of all devices a user may wish to install at any time. Further, this solution is difficult to maintain, i.e., it provides no easy way to enable communications between applications and devices for computers that have already been shipped to users without any or all of the specific installation software already installed. Ideally, a user should be able to obtain a correct, up-to-date driver for practically any device when the device is coupled to the user's computer, without requiring installation
Lortz Victor B.
Ritchie Jonathan G.
Intel Corporation
Shin Christopher B.
LandOfFree
Device handling system and method does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Device handling system and method, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Device handling system and method will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2822315