Method and apparatus for a scheduling driver to implement a...

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

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S005000, C710S010000, C710S017000, C710S018000, C710S031000, C710S058000, C714S005110, C714S047300, C711S219000

Reexamination Certificate

active

06795873

ABSTRACT:

BACKGROUND
1. Field of the Invention
This invention relates to computers. In particular, the invention relates to a scheduling driver to implement a protocol using time estimates for use with a device that does not generate interrupts.
2. Description of Related Art
Generally, a driver is a program that controls a device. Every device, such as a printer, disk drive, or keyboard, needs to have a driver to be operable with a computer. Many drivers, such as keyboard driver, come with an operating system. For other devices, a driver needs to be loaded when the device is connected to the computer. A driver acts like a translator between the device and the applications that use the device. Each device has its own set of specialized commands that only its driver knows. In contrast, most applications access devices by using generic commands. The driver, therefore, accepts generic commands from an application and translates them into specialized commands for the device.
Most device drivers handle hardware requests using the following sequence of steps:
1. Initiate a hardware request or put it in a queue if the device is already busy.
2. When the device generates an interrupt, the current request has been completed. At this point, return the results of the request to the application and initiate the next request in the queue.
Typically, each application uses a synchronous call to execute its request. The operating system (O/S) returns control to the application when the driver completes the request, which happens when the device generates an interrupt.
However, a problem arises when dealing with slow devices that do not generate interrupts. Unfortunately, most drivers utilized with a device that does not generate an interrupt do not have mechanisms to fairly share access among competing applications to the device and tend to utilize Central Processing Unit (CPU) processing time inefficiently in accommodating the competing applications. For example, some drivers utilized with these types of devices poll device registers to determine I/O completion. Unfortunately, with these types of drivers, the application often pauses or stalls execution to wait for the completion of the Input/Output (I/O) request during device processing, or executes an excessive number of I/O requests, both of which unnecessarily waste CPU processing time.


REFERENCES:
patent: 5579447 (1996-11-01), Salgado
patent: 6128672 (2000-10-01), Lindsley
patent: 6213652 (2001-04-01), Suzuki et al.
patent: 6292856 (2001-09-01), Marcotte
patent: 6438704 (2002-08-01), Harris et al.
patent: 6467054 (2002-10-01), Lenny
patent: 6549934 (2003-04-01), Peterson et al.
patent: 0 714 058 (1996-05-01), None
patent: 0 964 333 (1999-12-01), None
patent: 01067630 (1989-03-01), None
patent: 04153837 (1992-05-01), None
patent: 05035701 (1993-02-01), None
Timur Friedman & Don Towsley; Multicast Session Membership Size Estimation; www-net.cs.umass.edu; IEEE 1999.

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 apparatus for a scheduling driver to implement 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 and apparatus for a scheduling driver to implement a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for a scheduling driver to implement a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3222233

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