INCREASING SOFTWARE FAULT TOLERANCE BY EMPLOYING SURPRISE-REMOVAL PATHS
1 Assignment
0 Petitions
Accused Products
Abstract
The subject invention relates to systems and methods for automatic recovery from errors in a computing environment. A system is provided to facilitate failure recovery in the computing system. The system includes at least one driver component that enumerates at least one layer of a driver stack. A module associated with the driver component requests re-enumeration of the driver stack upon detection of an error in the computing system. When an error is detected by a driver or operating system component, a protocol can be established whereby a new copy of the driver'"'"'s stack or system resources is re-enumerated in parallel to existing resources that may be in an unknown or error state. The new copy of the stack may allow the driver to become operational in lieu of the previous stack which can be reclaimed for other system uses over time.
65 Citations
21 Claims
-
1. (canceled)
-
2. A computer-readable storage medium storing computer-executable instructions for implementing the following components, comprising:
-
an operating system framework that interacts with one or more driver components to detect an error condition; the one or more driver components instantiates a stack of objects that facilitate interactions with the one or more driver components and the operating system framework; and a message protocol that causes the one or more driver components to re-enumerate one or more stacks in order to reset internal state mechanisms and to facilitate recovery from the detected error condition. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-readable storage medium storing computer-executable instructions for performing the following, comprising:
-
creating a driver stack to enable driver functionality; detecting an error with the driver functionality; automatically re-enumerating the driver stack after detecting the error in order to reset internal state mechanisms and to facilitate recovery of the driver functionality; and re-enumerating the driver stack in parallel with previous instance of the driver stack that encountered the error in order to attempt to resume normal operations of the driver functionality. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A computer-readable storage medium for detecting and correcting errors in a computer, comprising:
-
means for creating a driver stack; means for detecting errors with the stack; means for re-creating a new stack upon detecting the errors in order to reset internal state mechanisms and to facilitate recovery of the driver functionality; and means for re-creating the new stack in parallel with previous instance of the stack that encountered the error in order to attempt to resume normal operations of the driver functionality.
-
Specification