IP Library Granted Patent US 11,552,869
Granted Patent B2
US 11,552,869 · App. 17/701,895 · Granted Jan 10, 2023

Robust suspension and resumption of desktop virtualization

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,552,869
App. No.
17/701,895
Filed
Mar 23, 2022
Granted
Jan 10, 2023
Kind
B2
Art Unit
2454
USPC
709/217
Abstract

A method for suspending and resuming a connection for desktop virtualization between two computing devices. In response to a client computing device shutting down, suspending, hibernating, or losing network connectivity during virtualization, the server computing device may itself shut down, suspend, or hibernate, or may pause or suspend the operation of one or more applications currently hosted by the server computing device. The server may detect that connectivity has been restored and resume operation of hosted applications. Alternatively, the client may transmit a command to the server indicating that the client is ready to resume virtualization. The client may also be configured to transmit a command that may cause the server to resume a powered-on state after the server was shut down or in a state of hibernation.

Claims (32)

1. A method, comprising:

receiving, by a computing device, a request from a client device to establish a session via a network connection;

sending, to the client device and in response to the request to establish a session, a visual representation of a virtual machine desktop corresponding to a virtual machine generated by the computing device;

suspending, by the computing device, operation of the virtual machine based on at least one message of a plurality of messages being undelivered to the client device;

receiving, by the computing device, a notification message indicative of a request to re-establish the session; and

resuming, by the computing device and based on the receiving of the notification message, operation of the virtual machine.

2. The method of claim 1 , wherein the visual representation of the virtual machine desktop comprises a visual representation of one or more applications hosted by the computing device.

3. The method of claim 1 , wherein the client device sends messages to the computing device at uniformly-spaced intervals of time.

4. The method of claim 1 , wherein the plurality of messages comprises ping messages received, by the computing device, at uniformly-spaced intervals of time.

5. The method of claim 1 , wherein the computing device determines that at least one message of the plurality of messages is undelivered by determining that an interval of time has elapsed without receiving a message from the client device.

6. The method of claim 1 , wherein the suspending operation of the virtual machine comprises caching data corresponding to the virtual machine.

7. The method of claim 6 , wherein the resuming operation of the virtual machine comprises retrieving the cached data.

8. The method of claim 1 , wherein the receipt of the notification message comprises receiving, by the computing device, a ping message from the client device.

9. The method of claim 1 , wherein the suspending operation of the virtual machine comprises the computing device consulting a pre-configured file.

10. The method of claim 1 , wherein the resuming operation of the virtual machine comprises sending the visual representation of the virtual machine desktop to a second client device.

11. A computing device comprising:

one or more processors; and

memory storing instructions, that when executed by the one or more processors, cause the computing device to:

receive a request from a client device to establish a session via a network connection;

send, to the client device and in response to the request to establish a session, a visual representation of a virtual machine desktop corresponding to a virtual machine generated by the computing device;

suspend operation of the virtual machine based on at least one message of a plurality of messages being undelivered to the client device;

receive a notification message indicative of a request to re-establish the session; and

resume, based on the receipt of the notification message, operation of the virtual machine.

12. The computing device of claim 11 , wherein the visual representation of the virtual machine desktop comprises a visual representation of one or more applications hosted by the computing device.

13. The computing device of claim 11 , wherein the client device sends messages to the computing device at uniformly-spaced intervals.

14. The computing device of claim 11 , wherein the plurality of messages comprises ping messages received, by the computing device, at uniformly-spaced intervals of time.

15. The computing device of claim 11 , wherein the computing device determines that at least one message of the plurality of messages is undelivered by determining that an interval of time has elapsed without receiving a message from the client device.

16. The computing device of claim 11 , wherein the suspending operation of the virtual machine comprises caching data corresponding to the virtual machine.

17. The computing device of claim 16 , wherein the resuming operation of the virtual machine comprises retrieving the cached data.

18. The computing device of claim 11 , wherein the receipt of the notification message comprises receiving, by the computing device, a ping message from the client device.

19. The computing device of claim 11 , wherein the suspending operation of the virtual machine comprises the computing device consulting a pre-configured file.

20. The computing device of claim 11 , wherein the resuming operation of the virtual machine comprises sending the visual representation of the virtual machine desktop to a second client device.