IP Library Granted Patent US 11,960,779
Granted Patent B1
US 11,960,779 · App. 18/218,116 · Granted Apr 16, 2024

Document printing in a virtualized computing environment

Inventors: Hui Zhang (Beijing, CN); Tong Zhao (Beijing, CN); Kun Shi (Beijing, CN); Yue Zhao (Beijing, CN); Hui Yuan (Beijing, CN)
Assignee: VMware, Inc.
G06F3/1211G06F3/1206G06F3/1227G06F3/1285
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 11,960,779
App. No.
18/218,116
Granted
Apr 16, 2024
Kind
B1
Abstract

The capability to print to a portable document format (PDF) file is provided in a virtualized computing environment that supports a virtual desktop infrastructure (VDI). Printing-related properties, of local printers coupled to a client device, are provided to a host, so that virtual printers at the host can be configured with the printing-related properties. A simulator may be provided at the host to receive the printing-related properties from the client device and to receive a query from a virtualized computing instance for the printing-related properties, instead of the query being directly sent to the client device.

Claims (65)

1. A method to perform printing in a virtualized computing environment that includes a host device configured to communicate with a client device, the method comprising:

receiving, by the host device from the client device via a communication channel, printing-related properties for a local printer coupled to the client device,

wherein the host device supports a virtualized computing instance that provides a virtual desktop,

wherein the printing-related properties information is received from the client device by a simulator at the host device;

receiving, by the simulator from the virtualized computing instance, a call that queries for the printing-related properties;

simulating at the host device, by the simulator, the client device when sending a response to the virtualized computing instance, wherein the response provides the printing-related properties, and wherein simulating the client device enables the call to be executed at the host device to generate the response;

configuring, by the virtualized computing instance, a virtual printer for the virtual desktop by using the printing-related properties provided by the response; and

using, by the virtualized computing instance, the configured virtual printer to generate a file of a first format.

2. The method of claim 1 , further comprising sending, by the host device to the client device, the file of the first format for printing by the local printer.

3. The method of claim 1 , wherein using the configured virtual printer to generate the file of the first format comprises:

using a print driver to generate a stream of a second format different from the first format, wherein the stream includes print data for printing in the file of the first format and further includes at least some of the printing-related properties;

converting the stream of the second format to a stream corresponding to the file of the first format; and

binding, to the file of the first format, the at least some of the printing-related properties.

4. The method of claim 3 , wherein the file of the first format is a portable document format (PDF) file, and wherein the stream of the second format is an extensible markup language paper specification (XPS) stream.

5. The method of claim 1 , wherein receiving the printing-related properties for the local printer comprises receiving, by the simulator, one or more extensible markup language (XML) files that describe the printing-related properties.

6. The method of claim 1 , wherein the virtualized computing instance and the client device simulated at the host device are based on a first operating system, and wherein the client device includes a browser that is based on a second operating system different from the first operating system.

7. The method of claim 1 , wherein:

the call that queries for the printing-related properties is an application program interface (API) call,

the client device is unable to respond to the API call with the printing-related properties, if the API call is sent by the virtualized computing instance directly to the client device, and

the client device is simulated at the host device, by the simulator, by being mimicked as a component that is capable to respond to the API call with the response that provides the printing-related properties.

8. A non-transitory computer-readable medium having instructions stored thereon, which in response to execution by one or more processors, cause the one or more processors to perform a method to print in a virtualized computing environment that includes a host device configured to communicate with a client device, wherein the method comprises:

receiving, by the host device from the client device via a communication channel, printing-related properties for a local printer coupled to the client device,

wherein the host device supports a virtualized computing instance that provides a virtual desktop,

wherein the printing-related properties information is received from the client device by a simulator at the host device;

receiving, by the simulator from the virtualized computing instance, a call that queries for the printing-related properties;

simulating at the host device, by the simulator, the client device when sending a response to the virtualized computing instance, wherein the response provides the printing-related properties, and wherein simulating the client device enables the call to be executed at the host device to generate the response;

configuring, by the virtualized computing instance, a virtual printer for the virtual desktop by using the printing-related properties provided by the response; and

using, by the virtualized computing instance, the configured virtual printer to generate a file of a first format.

9. The non-transitory computer-readable medium of claim 8 , wherein the method further comprises:

sending, by the host device to the client device, the file of the first format for printing by the local printer.

10. The non-transitory computer-readable medium of claim 8 , wherein using the configured virtual printer to generate the file of the first format comprises:

using a print driver to generate a stream of a second format different from the first format, wherein the stream includes print data for printing in the file of the first format and further includes at least some of the printing-related properties;

converting the stream of the second format to a stream corresponding to the file of the first format; and

binding, to the file of the first format, the at least some of the printing-related properties.

11. The non-transitory computer-readable medium of claim 10 , wherein the file of the first format is a portable document format (PDF) file, and wherein the stream of the second format is an extensible markup language paper specification (XPS) stream.

12. The non-transitory computer-readable medium of claim 8 , wherein receiving the printing-related properties for the local printer comprises receiving, by the simulator, one or more extensible markup language (XML) files that describe the printing-related properties.

13. The non-transitory computer-readable medium of claim 8 , wherein the virtualized computing instance and the client device simulated at the host device are based on a first operating system, and wherein the client device includes a browser that is based on a second operating system different from the first operating system.

14. The non-transitory computer-readable medium of claim 8 , wherein:

the call that queries for the printing-related properties is an application program interface (API) call,

the client device is unable to respond to the API call with the printing-related properties, if the API call is sent by the virtualized computing instance directly to the client device, and

the client device is simulated at the host device, by the simulator, by being mimicked as a component that is capable to respond to the API call with the response that provides the printing-related properties.

15. A host device in a virtualized computing environment that is configurable to communicate with a client device, the host device comprising:

one or more processors; and

a non-transitory computer-readable medium having instructions stored thereon, which in response to execution by the one or more processors, cause the one or more processors to perform operations to print in the virtualized computing environment, wherein the operations comprise:

receive, by the host device from the client device via a communication channel, printing-related properties for a local printer coupled to the client device,

wherein the host device supports a virtualized computing instance that provides a virtual desktop,

wherein the printing-related properties information is received from the client device by a simulator at the host device;

receive, by the simulator from the virtualized computing instance, a call that queries for the printing-related properties;

simulate at the host device, by the simulator, the client device when sending a response to the virtualized computing instance, wherein the response provides the printing-related properties, and wherein simulation of the client device enables the call to be executed at the host device to generate the response;

configure, by the virtualized computing instance, a virtual printer for the virtual desktop by using the printing-related properties provided by the response; and

use, by the virtualized computing instance, the configured virtual printer to generate a file of a first format.

16. The host device of claim 15 , wherein the operations further comprise:

send, by the host device to the client device, the file of the first format for printing by the local printer.

17. The host device of claim 15 , wherein the operations to use the configured virtual printer to generate the file of the first format comprise operations to:

use a print driver to generate a stream of a second format different from the first format, wherein the stream includes print data for printing in the file of the first format and further includes at least some of the printing-related properties;

convert the stream of the second format to a stream corresponding to the file of the first format; and

bind, to the file of the first format, the at least some of the printing-related properties.

18. The host device of claim 17 , wherein the file of the first format is a portable document format (PDF) file, and wherein the stream of the second format is an extensible markup language paper specification (XPS) stream.

19. The host device of claim 15 , wherein the operations to receive the printing-related properties for the local printer comprise operations to:

receive, by the simulator, one or more extensible markup language (XML) files that describe the printing-related properties.

20. The host device of claim 15 , wherein the virtualized computing instance and the client device simulated at the host device are based on a first operating system, and wherein the client device includes a browser that is based on a second operating system different from the first operating system.

21. The host device of claim 15 , wherein:

the call that queries for the printing-related properties is an application program interface (API) call,

the client device is unable to respond to the API call with the printing-related properties, if the API call is sent by the virtualized computing instance directly to the client device, and

the client device is simulated at the host device, by the simulator, by being mimicked as a component that is capable to respond to the API call with the response that provides the printing-related properties.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 25, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067239/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2023
From: ZHANG, HUI; ZHAO, TONG; SHI, KUN; ZHAO, YUE; YUAN, HUI
To: VMWARE, INC.
Reel/Frame 064146/0135 →