Patent ID: 8468392

Claim:
A control method for a controller that is a module that intervenes between an application and a device driver, relays a request from the application to the device driver, and relays a response to the request from the device driver to the application, the control method comprising steps of: receiving the request from the application; determining if a received initialization request is the first initialization request received after the application started when the received request is an initialization request; sending the first initialization request to the device driver if the initialization request is determined to be the first initialization request, returning a response to the initialization request to the application according to a status of the device driver without sending the initialization request to the device driver if as a result of evaluating the initialization request the received initialization request is determined to not be the first initialization request; acquiring from the device driver initialization settings information describing the status of the device driver after the initialization process based on the first initialization request, and storing the initialization settings information; detecting the status of the device driver; executing a recovery process based on the status of device driver if the status of device driver is determined to be an error; and sending a request to the device driver to set the device driver to the state based on the stored initialization settings information when the device driver recovers from an error as a result of the recovery process.