IP Library Granted Patent US 7,617,502
Granted Patent B2
US 7,617,502 · App. 10/288,942 · Granted Nov 10, 2009

Managing peripheral device drivers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,617,502
App. No.
10/288,942
Granted
Nov 10, 2009
Kind
B2
Abstract

Systems and methods are provided for processing device drivers, or software drivers, which enable a device, such as a peripheral device, to perform a particular task. One such method, among others, includes receiving a request for a task to be performed by a peripheral device. In response to receiving the request, the method further includes downloading a peripheral device driver that is configured to enable the peripheral device to perform the requested task.

Claims (53)

1. 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.

2. The method of claim 1 , wherein the peripheral-device-specific PDD is downloaded via a broadcast object carousel.

3. The method of claim 2 , wherein the broadcast object carousel complies with a Digital Storage Media Command and Control (DSM-CC) protocol.

4. The method of claim 1 , wherein the remote source is a headend.

5. The method of claim 1 , wherein the peripheral device is a printer and the task is a print job.

6. The method of claim 1 , wherein the method is implemented by a set-top terminal.

7. The method of claim 1 , wherein receiving further comprises receiving the request from an application.

8. The method of claim 1 , wherein receiving farther comprises receiving the request from an application, the method farther comprising:

selecting the peripheral-device-specific PDD to be downloaded from the plurality of PDDs listed in the map file, the plurality of PDDs including at least one of the peripheral-device-specific PDD, a manufacturer-specific PDD, and a generic PDD.

9. The method of claim 8 , farther comprising:

obtaining from the map file an identifier of the selected peripheral-device-specific PDD; and

extracting the selected peripheral-device-specific PDD from a broadcast carousel that is received from the remote source.

10. A system for managing a peripheral device driver (PDD), comprising:

a memory; and

a processor that is coupled to the memory and that is configured to:

receive a request for a task to be performed by a peripheral device;

determine whether a peripheral-device-specific PDD that is configured to enable the peripheral device to perform the requested task is currently stored in the memory;

responsive to the determining that the peripheral-device-specific PDD is not currently stored in the memory, determine 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 being operative to:

download 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

retrieve 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, download into the memory the peripheral-device-specific PDD from the at least one download location of the remote source via a broadcast object carousel, the peripheral-device-specific PDD being configured to enable the peripheral device to perform the requested task;

determine whether or not another task is currently pending to be performed by the peripheral device; and

cause the peripheral-device-specific PDD to be deleted from the memory, responsive to determining that no other task is currently pending to be performed by the peripheral device.

11. The system of claim 10 , wherein the peripheral-device specific PDD is downloaded via a broadcast object carousel.

12. The system of claim 11 , wherein the broadcast object carousel complies with a Digital Storage Media Command and Control (DSM-CC) protocol.

13. The system of claim 10 , wherein the remote source is a headend.

14. The system of claim 10 , wherein the peripheral device is a printer and the task is a print job.

15. The system of claim 10 , wherein the system is a set-top terminal.

16. The system of claim 10 , wherein the processor is further configured to:

responsive to determining that the peripheral-device-specific PDD is not available for download, determine whether or not a manufacturer-specific PDD is available for download from the remote source; and

responsive to receiving the request and responsive to determining that the manufacturer-specific PDD is available, download into the memory the manufacturer-specific PDD from the remote source.

17. The system of claim 16 , wherein the processor is further configured to:

responsive to determining that the manufacturer-device-specific PDD is not available for download, determine whether or not a generic PDD is available for download from the remote source; and

responsive to receiving the request and responsive to determining that the generic PDD is available, download into the memory the generic PDD from the remote source.

18. A method for printing, comprising:

receiving a request for a print job to be performed by a printer;

determining whether or not a printer driver (PD) that is configured to enable the printer to perform the requested print job is currently stored in a local memory;

responsive to receiving the request and responsive to determining that the PD is not currently stored in the local memory, downloading a map file generated by a remote source, wherein the map file comprises a listing of a plurality of PD download locations corresponding to a plurality of supported printers,

retrieving at least one download location associated with the PD requesting the print job to be performed;

downloading into the local memory the PD from the download location of the remote source via a broadcast object carousel;

utilizing the PD to enable the printer to perform the requested print job;

determining whether or not another print job is currently pending to be performed by the printer; and

responsive to determining that no other print job is currently pending to be performed by the printer, causing the PD to be deleted from the local memory.

19. The method of claim 18 , wherein the method is implemented by a set-top terminal.

20. The method of claim 18 , wherein the PD is downloaded from a headend.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2014
From: SCIENTIFIC-ATLANTA, LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 034300/0001 →
CHANGE OF NAME Recorded Nov 19, 2014
From: SCIENTIFIC-ATLANTA, INC.
To: SCIENTIFIC-ATLANTA, LLC
Reel/Frame 034299/0440 →
CHANGE OF NAME Recorded Jul 27, 2009
From: SCIENTIFIC-ATLANTA, INC.
To: SCIENTIFIC-ATLANTA, LLC
Reel/Frame 023012/0703 →
MERGER Recorded Mar 26, 2004
From: POWERTV, INC., A GEORGIA CORPORATION
To: SCIENTIFIC-ATLANTA, INC., A GA CORP
Reel/Frame 015135/0543 →
MERGER Recorded Sep 12, 2003
From: POWERTV, INC.,A CALIFORNIA CORP.
To: POWERTV, INC.,A GEORGIA CORP.
Reel/Frame 014493/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2002
From: SCIENTIFIC-ATLANTA, INC.
To: POWERTV, INC., A CORPROATION IN CALIFORNIA
Reel/Frame 013546/0252 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2002
From: SPRAGUE, JEFFREY
To: SCIENTIFIC-ATLANTA, INC.
Reel/Frame 013474/0065 →