Increasing software fault tolerance by employing surprise-removal paths
First Claim
1. A computer-readable storage medium storing computer-executable instructions that, when executed, are configured to implement one or more components, the one or more components comprising:
- a first component configured to request a simulated removal of a device responsive to a detection of an error condition associated with the device; and
a second component configured to initiate the simulated removal of the device effective to cause one or more driver components associated with the device to re-enumerate one or more existing driver stacks to facilitate recovery from the error condition, the simulated removal of the device comprising a software simulation of the device being physically removed.
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.
11 Citations
20 Claims
-
1. A computer-readable storage medium storing computer-executable instructions that, when executed, are configured to implement one or more components, the one or more components comprising:
-
a first component configured to request a simulated removal of a device responsive to a detection of an error condition associated with the device; and a second component configured to initiate the simulated removal of the device effective to cause one or more driver components associated with the device to re-enumerate one or more existing driver stacks to facilitate recovery from the error condition, the simulated removal of the device comprising a software simulation of the device being physically removed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-implemented method, comprising:
-
initiating a removal sequence responsive to detecting an error associated with device driver functionality, the removal sequence being configured to simulate, in software, one or more conditions associated with a device being removed from a computing system; and automatically re-enumerating an existing driver stack responsive to the removal sequence to generate a new driver stack effective to facilitate recovery of the device driver functionality. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A system, comprising:
-
means for implementing a simulated device removal responsive to detecting an error associated with an existing driver stack, the simulated device removal being configured to simulate, in software, one or more conditions associated with a removal of a physical device associated with the existing driver stack; and means for generating a new driver stack responsive to the simulated device removal, the new driver stack including at least one driver associated with the existing driver stack.
-
Specification