Patent ID: 7617502

Claim:
A method for managing a peripheral device driver (PDD), comprising: receiving a request to perform a task from the peripheral device; determining whether a peripheral-device-specific PDD that is configured to enable the peripheral device to perform the requested task is currently stored in a local memory; responsive to the determining that the peripheral-device-specific PDD is not currently stored in the local memory, determining whether the peripheral-device-specific PDD is available for download from a remote source, wherein determining whether the peripheral-device-specific PDD is available for download comprises: downloading a map file generated by the remote source, wherein the map file comprises a listing of a plurality of PDD download locations corresponding to a plurality of supported peripheral devices, and retrieving at least one download location associated with the peripheral device requesting the task to be performed; responsive to receiving the request and responsive to determining that the peripheral-device-specific PDD is available, downloading into the local memory the peripheral-device-specific PDD from the at least one download location of the remote source, the peripheral-device-specific PDD being configured to enable the peripheral device to perform the requested task; determining whether or not another task is currently pending to be performed by the peripheral device; and causing the peripheral-device-specific PDD to be deleted from the local memory, responsive to determining that no other task is currently pending to be performed by the peripheral device.