Computer architecture utilizing layered device drivers

Electrical computers and digital processing systems: interprogra – Device driver communication – Device driver configuration

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C719S321000, C717S168000

Reexamination Certificate

active

06832379

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to computer systems, and more particularly to a computer architecture utilizing layered device drivers.
BACKGROUND OF THE INVENTION
A typical computer includes various physical and logical devices. Each device is typically supported through a device driver. The device driver defines the device (in the case of a logical device), and allows the other components in the computer to utilize the device.
Very often, a number of device drivers are used in combination in a stack configuration. When organized in a stack configuration, a particular device driver consumes services from the device driver below it in the stack and exports services to the device driver above it in the stack. For convenience, each device driver in a device driver stack is referred to as a layered device driver (LDD). Each LDD emulates a device. A LDD “exports” a device to the LDD above it in the device driver stack and “consumes” the device that is exported by the LDD below it in the device driver stack. A LDD is “bound” to the LDD below it in the device driver stack.
The U.S. Pat. No. 5,802,364 entitled MET ADEVICE DRIVER RENAME/EXCHANGE TECHNIQUE FOR A COMPUTER SYSTEM INCORPORATING A PLURALITY OF INDEPENDENT DEVICE DRIVERS, issued on Sep. 1, 1998 in the names of Steven T. Senator, Dale R. Passmore, and Robert S. Gittins, which is hereby incorporated by reference in its entirety, describes a LDD architecture for use in a storage device. This patent addresses altering a prior-established driver hierarchy, and describes a LDD architecture in which each LDD is able to operate independently of the other LDDs without knowledge of the private data structures of any of the other LDDs.
LDDs are installed into the computer through a registration process. Briefly, the operating system includes a device driver registration system that enables a LDD to be initialized and installed into the operating system. The user can specify the relative position of each LDD within the device driver stack.
For example, the Windows NT operating system includes an operating system device driver registration system. Specifically, the Windows NT operating system maintains a list of device drivers and their corresponding parameters in the System\CurrentControlSet\Services file. Using the information in the System\CurrentControlSet\Services file, the Windows NT operating system loads the device drivers into the operating system in a specified order. Such loading provides for orderly initialization of the device drivers.
One problem with the operating system device driver registration system is that it does not support multiple device driver stacks, which are necessary or desirable in some computer applications. Thus, the operating system device driver registration system does not allow the user to specify a particular device driver stack and a relative position in the device driver stack for each LDD.
Thus, there is a need for a layered device driver registration system that allows the user to specify a particular device driver stack and a relative position in the device driver stack for each LDD is needed, and also allows a layered device driver to be dynamically inserted into or removed from a particular device driver stack.
SUMMARY OF THE INVENTION
In accordance with one aspect of the present invention, a layered device driver registration system is used in conjunction with an operating system device driver registration system to enable a user to associate a device driver with one of a number of device driver stacks and to configure the relative position of the device driver within the device driver stack. The layered device driver registration system includes a driver list and a driver order list. In order to install a device driver, the device driver is added to the driver list, and the relative position of the device driver is indicated within the driver order list.
In accordance with another aspect of the invention, a layered device driver is inserted into a device driver stack between an upper device driver and a lower device driver by suspending input/output operations for the device driver stack, unbinding the upper device driver from the lower device driver, binding the new device driver to the lower device driver, binding the upper device driver to the new device driver, and restarting input/output operations for the device driver stack.
In accordance with yet another aspect of the invention, a layered device driver is removed from a device driver stack, and specifically from between an upper device driver and a lower device driver, by suspending input/output operations for the device driver stack, unbinding the upper device driver from the unwanted device driver, unbinding the unwanted device driver from the lower device driver, binding the upper device driver to the lower device driver, and restarting input/output operations for the device driver stack.


REFERENCES:
patent: 5339432 (1994-08-01), Crick
patent: 5412798 (1995-05-01), Garney
patent: 5432941 (1995-07-01), Crick et al.
patent: 5608651 (1997-03-01), Leavy et al.
patent: 5630076 (1997-05-01), Saulpaugh et al.
patent: 5659685 (1997-08-01), Williams et al.
patent: 5732282 (1998-03-01), Provino et al.
patent: 5761411 (1998-06-01), Teague et al.
patent: 5781797 (1998-07-01), Crick et al.
patent: 5784615 (1998-07-01), Lipe et al.
patent: 5802364 (1998-09-01), Senator et al.
patent: 5809329 (1998-09-01), Lichtman et al.
patent: 5819107 (1998-10-01), Lichtman et al.
patent: 6032217 (2000-02-01), Arnott
patent: 6041363 (2000-03-01), Schaffer
patent: 6205492 (2001-03-01), Shaw et al.
patent: 6233624 (2001-05-01), Hyder et al.
patent: 6401223 (2002-06-01), DePenning
patent: RE38134 (2003-06-01), Ross et al.
patent: 6694317 (2004-02-01), Stakutis et al.
Petrusha, Ron: “Inside the Windows 95 Registry”, O'Reilly and Associates, Inc. 1996. pp. 35,38-39.*
Standish, Thomas: “Data Structures, Algorithms, and Software Principles”, Addison Wesley, 1995. p. 36.

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

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

Rate now

     

Profile ID: LFUS-PAI-O-3338351

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