Patent ID: 8438315
Filing Date: 2013-05-07
Classification: G06F

Abstract:
1. A method of upgrading a driver comprising: installing a driver, said driver including an upgrade facility, a base driver and a first set of one or more driver extension modules for processing input/output operations for one or more devices, said driver using a first device configuration tree and first device stack in connection with processing input/output operations for said one or more devices with said first set of one or more driver extension modules corresponding to a first version of said driver; performing processing to upgrade said driver using said upgrade facility, said processing including: loading one or more upgrade modules associated with a second version of said driver; and performing cutover processing for each of said one or more devices and wherein, prior to completing said cutover processing for a first of said one or more devices, input/output operations directed to said first device are processed using said first device configuration tree and said first device stack with said first set of one or more driver extension modules corresponding to a first version of said driver, and after completing said cutover processing for said first device, input/output operations directed to said first device are processed using a second device configuration tree and a second device stack with a second set of driver extension modules, said second set including said one or more upgrade modules and being associated with said second version of said driver, wherein, while said processing is being performed to upgrade said driver and prior to completing said cutover processing for said one or more devices, entry points for said second set of one or more driver extension modules are registered with said base driver for at least one time period during the cutover processing that overlaps with a time period during which entry points for said first set of one or more driver extension modules are registered with said base driver thereby allowing said base driver to transfer control to both said first version and said second version of the driver prior to completing said cutover processing for said one or more devices, and wherein, during the at least one time period during the cutover processing that the entry points for both the first set of one or more driver extension modules and the second set of driver extension modules are registered with the base driver, both the first version of the driver and the second version of the driver are active or in use at the same time.