IP Library › Granted Patent US 8,149,431
Granted Patent B2
US 8,149,431 · App. 12/267,274 · Granted Apr 3, 2012

Systems and methods for managing printer settings in a networked computing environment

Assignee: Citrix Systems, Inc.
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 8,149,431
App. No.
12/267,274
Granted
Apr 3, 2012
Kind
B2
Abstract

Systems and methods for remotely managing printer settings that are associated with a remote printer connected to a client machine. A virtual printer driver, executing on a server, is used to generate and manage generate virtual printer queues associated with remote printers connected to the client machine. Each virtual printer queue intercepts print requests generated by one or more applications executing on the server, these print requests cause the virtual printer driver to either retrieve printer setting information from cache memory, or interrogate the remote printer for printer setting information. The virtual printer driver retrieves printer setting information and associates virtual printer queues with remote printers using the retrieved printer setting information. The virtual printer driver then responds to the print request by generating a graphical interface that incorporates the retrieved printer settings and user-defined printer settings.

Claims (105)

1. A method for managing printer settings in a networked computing environment, the method comprising:

executing, by a first machine in a networked computing environment, an application;

intercepting, by a virtual printer queue managed by a virtual printer driver, a first print request generated via the application by a second machine in the networked computing environment;

retrieving, by the virtual printer driver and in response to the interception of the first print request, setting information associated with a first remote printer, the first remote printer in communication with the second machine;

displaying, by the virtual printer driver, a first graphical interface associated with the first remote printer, the first graphical interface dynamically generated by the virtual printer driver in response to retrieving the setting information;

intercepting, by the virtual printer queue, a second print request generated via the application by a third machine in the networked computing environment;

retrieving, by the virtual printer driver and in response to the interception of the second print request, setting information associated with a second remote printer, the second remote printer in communication with the third machine; and

displaying, by the virtual printer driver, a second graphical interface associated with the second remote printer, the second graphical interface dynamically generated by the virtual printer driver in response to retrieving the setting information associated with the second remote printer.

2. The method of claim 1 , further comprising:

detecting, by the virtual printer driver, a change in at least one printer setting associated with the first remote printer;

updating, by the virtual printer driver, the first graphical interface to display the changed printer setting;

displaying, by the virtual printer driver, the updated first graphical interface; and

associating, by the virtual printer driver, the virtual printer queue with the first remote printer.

3. The method of claim 1 , further comprising:

intercepting, by the virtual printer queue, a third print request generated via the application by the second machine;

displaying, by the virtual printer driver, the first graphical interface associated with the first remote printer, the first graphical interface displayed by the virtual printer driver responsive to the interception of the third print request; and

transmitting, by the virtual printer driver, the retrieved setting information associated with the first remote printer to a graphics rendering engine on the second machine.

4. The method of claim 1 , further comprising:

executing the virtual printer driver on a host machine in the networked computing environment;

creating, by the virtual printer driver, the virtual printer queue according to retrieved printer setting information;

using retrieved printer setting information to identify, by the virtual printer driver, a plurality of remote printers associated with a client machine in the networked computing environment, and

associating, by the virtual printer driver, the virtual printer queue with the remote printer connected to the client machine.

5. The method of claim 4 , wherein associating the first remote printer with the virtual printer queue further comprises mapping, by the virtual printer driver, a path to the first remote printer.

6. The method of claim 1 , further comprising:

interrogating, by the virtual printer driver, the first remote printer connected to the second machine;

retrieving, by the virtual printer driver, printer setting information associated with the first remote printer, the printer setting information generated during interrogation of the first remote printer;

creating, by the virtual printer driver, a first virtual printer queue associated with the first remote printer; and

displaying, by the virtual printer driver, a first graphical interface associated with the first remote printer, the first graphical interface including the retrieved printer setting information associated with the first remote printer.

7. The method of claim 6 , further comprising:

transmitting, by the virtual printer driver, the retrieved setting information associated with the first remote printer to the graphics rendering engine on the second machine.

8. A method for managing printer settings in a networked computing environment, the method comprising:

executing, by a first machine in a networked computing environment, an application;

intercepting, by a virtual printer queue managed by a virtual printer driver, a first print request generated via the application by a second machine in the networked computing environment;

retrieving, by the virtual printer driver and in response to the interception of the first print request, setting information associated with a first remote printer, the first remote printer in communication with the second machine;

displaying, by the virtual printer driver, a first graphical interface associated with the first remote printer, the first graphical interface dynamically generated by the virtual printer driver in response to retrieving the setting information;

intercepting, by the virtual printer driver, an event disrupting access to the application from the second machine;

retrieving, by the virtual printer driver, printer setting information associated with the first remote printer; and

displaying, by the virtual printer driver, the first graphical interface associated with the first remote printer, the first graphical interface displayed by the virtual printer driver responsive to the retrieval of the setting information associated with the first remote printer.

9. The method of claim 8 wherein intercepting an event disrupting access to the application from the second machine further comprises intercepting a connection time-out between the second machine and the application.

10. The method of claim 8 wherein intercepting an event disrupting access to the application from the second machine further comprises intercepting a network disruption between the second machine and the application.

11. The method of claim 8 wherein intercepting an event disrupting access to the application from the second machine further comprises intercepting a user request to disconnect and reconnect the second machine to the application.

12. The method of claim 8 wherein intercepting an event disrupting access to the application from the second machine further comprises intercepting a second print request generated via the application by a third machine in the networked computing environment followed by a third print request generated via the application by the second machine.

13. A system for managing printer settings in a networked computing environment, comprising:

a first machine, in a networked computing environment, executing an application;

a virtual printer queue, executing on the first machine, for:

intercepting a first print request generated via the application by a second machine, and

intercepting a second print request generated via the application by a third machine; and

a virtual printer driver, executing on the first machine, for:

managing the virtual printer queue,

retrieving from a first remote printer, connected to the second machine, setting information associated with the first remote printer, responsive to the interception of the first print request by the virtual printer queue,

dynamically generating a first graphical interface associated with the first remote printer, responsive to the retrieved setting information associated with the first remote printer,

displaying the first graphical interface associated with the first remote printer;

retrieving from a second remote printer, connected to the third machine, setting information associated with the second remote printer, responsive to the interception of the second print request by the virtual printer queue,

dynamically generating a second graphical interface associated with the second remote printer, responsive to the retrieved setting information associated with the second remote printer, and

displaying the second graphical interface associated with the second remote printer.

14. The system of claim 13 , wherein the virtual printer driver is further configured to:

detect a change in at least one printer setting associated with the first remote printer;

update the first graphical interface associated with the first remote printer to display the changed printer setting;

display the updated first graphical interface associated with the first remote printer; and

associate the virtual printer queue with the first remote printer.

15. The system of claim 13 , wherein the virtual printer driver is further configured to:

display the first graphical interface associated with the first remote printer, the first graphical interface displayed in response to the interception of a third print request by the virtual printer queue, the third print request generated via the application by the first machine; and

transmit the retrieved setting information associated with the first remote printer to a graphics rendering engine on the first machine.

16. The system of claim 13 , wherein the virtual printer driver is further configured to:

create the virtual printer queue according to retrieved printer setting information associated with the first remote printer;

identify a plurality of remote printers associated with a client computing device, based at least in part on the retrieved printer setting information associated with the first remote printer, and

associate the virtual printer queue with the remote printer connected to the client computing device.

17. The system of claim 16 , wherein the virtual printer driver for associating the first remote printer with the virtual printer queue is further configured to map a path from the virtual printer queue to the first remote printer.

18. The system of claim 13 , wherein the virtual printer driver is further configured to:

interrogate the first remote printer connected to the second machine;

retrieve printer setting information associated with the first remote printer, the printer setting information generated during interrogation of the first remote printer;

create a first virtual printer queue associated with the first remote printer; and

display a first graphical interface associated with the first remote printer, the first graphical interface including the retrieved printer setting information.

19. The system of claim 18 , wherein the virtual printer driver is further configured to:

transmit the retrieved printer setting information associated with the first remote printer to the graphics rendering engine on the second machine.

20. A non-transitory computer readable medium having instructions thereon, that when executed provide a method for managing printer settings in a networked computing environment, the computer readable medium comprising:

instructions to execute a virtual printer driver, the virtual printer driver configured in part to manage virtual printer queues;

instructions to intercept, by a virtual printer queue, a first print request generated, via an application executing on a first machine in a networked computing environment, by a second machine;

instructions to retrieve, by the virtual printer driver, from a first remote printer, setting information associated with the first remote printer, responsive to the interception of the first print request;

instructions to display, by the virtual printer driver, a first graphical interface associated with the first remote printer, the first graphical interface dynamically generated by the virtual printer driver in response to the retrieved setting information;

instructions to intercept, by the virtual printer queue, a second print request generated via the application by a third machine;

instructions to retrieve, by the virtual printer driver, from a second remote printer, setting information associated with the second remote printer, in response to the interception of the second print request; and

instructions to display, by the virtual printer driver, a second graphical interface associated with the second remote printer, the second graphical interface dynamically generated by the virtual printer driver in response to the retrieved setting information associated with the second remote printer.

21. The computer readable medium of claim 20 , further comprising:

instructions to detect, by the virtual printer driver, a change in at least one printer setting associated with the first remote printer;

instructions to update, by the virtual printer driver, the first graphical interface to display the changed printer setting;

instructions to display, by the virtual printer driver, the updated first graphical interface; and

instructions to associate the virtual printer queue with the first remote printer.

22. The computer readable medium of claim 20 , further comprising:

instructions to intercept, by the virtual printer queue, a third print request generated via the application by the second machine;

instructions to display, by the virtual printer driver, the first graphical interface associated with the first remote printer queue, the first graphical interface displayed by the virtual printer driver responsive to the interception of the third print request; and

instructions to transmit, by the virtual printer driver, the retrieved setting information associated with the first remote printer to a graphics rendering engine on the second machine.

23. The computer readable medium of claim 20 , further comprising:

instructions to execute the virtual printer driver on a host machine in the networked computing environment;

instructions to create the virtual printer queue, by the virtual printer driver, according to the retrieved printer setting information associated with the first remote printer;

instructions to use the retrieved printer setting information associated with the first remote printer to identify, by the virtual printer driver, a plurality of remote printers associated with a client machine, and

instructions to associate the virtual printer queue, by the virtual printer driver, with the first remote printer connected to the client machine.

24. The computer readable medium of claim 23 , wherein instructions to associate the first remote printer with the virtual printer queue further comprises instructions to map, by the virtual printer driver, a path to the first remote printer.

25. The computer readable medium of claim 20 , further comprising:

instructions to interrogate, by the virtual printer driver, the first remote printer connected to the second machine;

instructions to retrieve, by the virtual printer driver, printer setting information associated with the first remote printer, the printer setting information generated during interrogation of the first remote printer;

instructions to create, by the virtual printer driver, a first virtual printer queue associated with the first remote printer; and

instructions to display, by the virtual printer driver, a first graphical interface associated with the first remote printer, the first graphical interface including the retrieved printer setting information associated with the first remote printer.

26. The computer readable medium of claim 20 , further comprising:

instructions to transmit, by the virtual printer driver, the retrieved setting information associated with the first remote printer to a graphics rendering engine on the second machine.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2008
From: BARTON, GARY LEE; FEIJOO, RICARDO FERNANDO
To: CITRIX SYSTEMS, INC.
Reel/Frame 021807/0582 →
Continuity (1)
Related Publication 20100118330A1 · May 13, 2010