Method and system for abstracting network device drivers

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

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S008000, C710S063000, C709S241000, C709S241000

Reexamination Certificate

active

06633929

ABSTRACT:

BACKGROUND OF THE INVENTION
1. The Field of the Invention
The field of the present invention is the development of drivers for computer hardware. More specifically, the present invention relates to methods, systems, and computer program products for abstracting computer hardware device drivers.
2. The Prior State of the Art
Personal computers, unlike proprietary computer systems, are fabricated with widely available components. In a typical personal computer, various manufacturers are responsible for producing the components that are present. For example, it is not uncommon that a personal computer's processor, motherboard, hard disk, CD-ROM, disk controller, video processing, audio processing, modem, network interface, keyboard, mouse, etc. are each manufactured by a separate entity. Alternatively, at times it may be advantageous to combine several pieces of hardware into a single device. A motherboard may integrate video processing, audio processing, and a disk controller as well as keyboard and mouse interfaces. Nevertheless, a basic philosophy of personal computers is the ability to upgrade, to replace an old component or to add a new one. Even computers with heavily integrated motherboards offer the option of adding new hardware.
Traditionally, new hardware is added to a personal computer through a peripheral bus on the motherboard. Hardware connected to the peripheral bus may be replaced as it becomes obsolete or inoperable. To facilitate the manufacturing of computer hardware, several standards have emerged for peripheral buses, including ISA, ESDI, PCI, SCSI, and others. Hardware from any manufacturer that conforms to a peripheral bus standard may be connected to the peripheral bus for use by the personal computer. This concept of being able to connect hardware designed by any one of several competing manufacturers through a peripheral bus is referred to generally as an open architecture.
Traditionally, peripheral buses have required removing a personal computer's case to gain access, presenting at least two problems. First, many consumers lack the knowledge and confidence necessary to open a personal computer's case and connect a hardware device. Therefore, it is not uncommon for a device purchaser to make a support call for no other reason than to have a support representative reassure the purchaser as he or she follows steps listed in printed documentation included with the device. Second, some consumers may not even consider opening their computer, preferring instead to have the work performed by an expert. Thus, consumers may resist upgrading their computer equipment, either from a fear of causing damage or from the added expense of paying another for the installation. In either case, the need to open a computer case will likely limit the market for some hardware devices.
In contrast, traditional external modems offer the convenience of being easily attached to a personal computer's external serial port. Unfortunately, such connections tend to be slow, especially given the increasingly image-oriented content of the World Wide Web. The problem is three fold, slow serial ports connecting slow modems connected to slow telephone lines. Nevertheless, installation is relatively easy and the cost of Internet access is controlled by fierce competition among Internet service providers (“ISPs”). However, as high-speed networking and communication enters the realm of home-based personal computers, the demand for faster devices that can be connected without opening a computer's case is increasing.
In response to this increasing demand, two new external buses have been developed to overcome the performance limitations inherent in serial port connections, the universal serial bus (“USB”) and the 1394 bus (“1394”). These buses are highly attractive to those who would provide high-speed digital lines for home use. With buses like USB and 1394, a line provider has increased confidence that investments in bringing digital access to the home will reach a market larger than consumers willing to open their computer cases or those willing to pay someone else for installing new hardware. Installation becomes a matter of plugging devices into an external computer socket.
Similarly, cable modems are ideally suited to USB and 1394. A cable provider can ship a modem to a customer who only needs make a few connections. This arrangement eliminates liability, increased expense, or potential mistrust that may develop from sending out a technician to install a modem that would otherwise require opening the computer case. Manufacturers sell more modems, cable providers increase their customer base. However, device manufacturers face a significant hurdle in their effort to supply devices in an environment of increasingly diverse buses, whether they are internal or external.
In addition to a physical connection, software drivers must be written to make a connected hardware device accessible to the application programs executing on a personal computer. Just as a peripheral bus standard provides a common means for accessing a particular bus, a device driver provides a common means for accessing a particular device. Thus, device drivers generally have been written to access a given hardware device connected to a given bus, with each supported bus requiring a separate device driver.
Although the potential number of buses may not seem like much of an impediment to hardware manufacturers writing device drivers, the problem is not as simple as one driver for each bus. First, various operating systems for personal computers offer incompatible support for writing device drivers. Therefore, the number of buses must be multiplied at least by the number of supported operating systems to determine the how may device drivers are required. Second, as new technology becomes available, a new driver must be written to make use of those advances. A new driver may be required even for minor enhancements. Naturally, writing, testing, and supporting a large number of device drivers demands a significant commitment of resources.
However, in many respects the effort to support multiple device drivers is entirely duplicative. For example, much of the functionality needed to interface with network and other communication devices is independent of the particular bus used to connect the network device. Thus, the only portion of a network device driver that must be unique is the part that communicates directly with a particular bus or network. This is true for a single manufacturer who offers multiple network devices as well as for the industry producing network devices as a whole. Not only is the effort substantial to produce a network device driver for each peripheral bus/revision/operating system permutation, but that effort is largely wasted.
Operating system providers share this problem with hardware developers because they must include network device drivers from many manufacturers in order for the operating system to be useful. Although the operating system provider may not bear primary responsibility for testing network device drivers, some degree of functionality with at least some number of network device drivers must be examined to assure the operating system will run properly when installed on a personal computer. Furthermore, significant resources must be dedicated to coordinating the release of an operating system with the enormous number of network device drivers that are written.
SUMMARY OF THE INVENTION
The foregoing problems in the prior state of the art have been successfully overcome by the present invention, which is directed to methods, systems, and computer program products for abstracting computer hardware device drivers. The invention is particularly useful in reducing the burden hardware developers otherwise experience in producing network device drivers, where each driver must be specific to the particular peripheral bus used to connect the network device. For example, as USB, 1394, and other peripheral bus standards proliferate to meet the growing demand for easier access t

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 and system for abstracting network device drivers 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 and system for abstracting network device drivers, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for abstracting network device drivers will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3131440

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