IP Library Granted Patent US 11,467,717
Granted Patent B2
US 11,467,717 · App. 16/737,207 · Granted Oct 11, 2022

Optimizing window resize actions for remoted applications

Inventor: Adam Gregory Gross (Dexter, MI)
Assignee: VMware, Inc.
G06F3/04845G06F3/1454H04L67/01
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,467,717
App. No.
16/737,207
Granted
Oct 11, 2022
Kind
B2
Abstract

Techniques for optimizing window resize actions for a remoted application are provided, where the remoted application has a server-side window running within a remote desktop of a server system, and where the server-side window is made accessible to a user of a client system as a client-side window displayed in a client desktop of the client system. In one embodiment, the client system can receive from the server system a notification that the server-side window is being resized in the remote desktop, and can determine that the user is currently entering one or more input commands for resizing the server-side window. In response, the client system can send a message to the server system for canceling the resizing of the server-side window. The client system can then allow the user to resize the client-side window via the one or more input commands, while the server-side window remains a fixed size.

Claims (47)

1. A method for optimizing window resize actions for a remoted application, wherein the remoted application has a server-side application window running within a remote desktop of a server system, and wherein the server-side application window is made accessible to a user of a client system in the form of a client-side application window displayed in a client desktop of the client system, the method comprising:

transmitting, by the server system to the client system, a notification that the server-side application window is being resized in the remote desktop;

receiving, by the server system from the client system, a resize cancel message indicating that the server system should cancel resizing of the server-side application window in the remote desktop, wherein the client system transmits the resize cancel message in response to determining that the user is currently entering one or more input commands indicating that a window resize action for the client-side application window is in progress, and wherein the resize cancel message includes a user input event generated by the client system which indicates that the user has canceled the one or more input commands;

subsequently to receiving the resize cancel message, transmitting, by the server system to the client system, a plurality of framebuffer updates of the remote desktop while the window resize action for the client-side application window is in progress;

subsequently to transmitting the plurality of framebuffer updates, receiving, by the server system from the client system, a request to resize the server-side application window according to a final size of the client-side application window at completion of the window resize action; and

resizing, by the server system, the server-side application window in accordance with the final size of the client-side application window.

2. The method of claim 1 wherein the server system detects that the server-side application window is being resized in the remote desktop via one or more window resizing messages sent by an operating system executing the remote desktop.

3. The method of claim 1 wherein upon receiving the resize cancel message, the server-side application window remains a fixed size in the remote desktop until the completion of the window resize action.

4. The method of claim 1 wherein, for each framebuffer update received from the server system, the client system:

determines a portion of the framebuffer update corresponding to contents of the server-side application window;

scales the portion to match a current size of the client-side application window; and

draws the scaled portion within the client-side application window.

5. The method of claim 1 further comprising, subsequently to receiving the resize cancel message but prior to receiving the request:

resizing, by the server system at a periodic interval, the server-side application window in the remote desktop to match a current size of the client-side application window in the client desktop.

6. The method of claim 5 wherein the periodic interval is dynamically changed based upon one or more criteria determined while the window resize action for the client-side application window is in progress.

7. A non-transitory computer readable storage medium having stored thereon program code executable by server system, the program code embodying a method for optimizing window resize actions for a remoted application, wherein the remoted application has a server-side application window running within a remote desktop of the server system, and wherein the server-side application window is made accessible to a user of a client system in the form of a client-side application window displayed in a client desktop of the client system, the method comprising:

transmitting, to the client system, a notification that the server-side application window is being resized in the remote desktop;

receiving, from the client system, a resize cancel message indicating that the server system should cancel resizing of the server-side application window in the remote desktop, wherein the client system transmits the resize cancel message in response to determining that the user is currently entering one or more input commands indicating that a window resize action for the client-side application window is in progress, and wherein the resize cancel message includes a user input event generated by the client system which indicates that the user has canceled the one or more input commands;

subsequently to receiving the resize cancel message, transmitting, to the client system, a plurality of framebuffer updates of the remote desktop while the window resize action for the client-side application window is in progress;

subsequently to transmitting the plurality of framebuffer updates, receiving, from the client system, a request to resize the server-side application window according to a final size of the client-side application window at completion of the window resize action; and

resizing the server-side application window in accordance with the final size of the client-side application window.

8. The non-transitory computer readable storage medium of claim 7 wherein the server system detects that the server-side application window is being resized in the remote desktop via one or more window resizing messages sent by an operating system executing the remote desktop.

9. The non-transitory computer readable storage medium of claim 7 wherein upon receiving the resize cancel message, the server-side application window remains a fixed size in the remote desktop until the completion of the window resize action.

10. The non-transitory computer readable storage medium of claim 7 wherein, for each framebuffer update received from the server system, the client system:

determines a portion of the framebuffer update corresponding to contents of the server-side application window;

scales the portion to match a current size of the client-side application window; and

draws the scaled portion within the client-side application window.

11. The non-transitory computer readable storage medium of claim 7 wherein the method further comprises, subsequently to receiving the resize cancel message but prior to receiving the request:

resizing, at a periodic interval, the server-side application window in the remote desktop to match a current size of the client-side application window in the client desktop.

12. The non-transitory computer readable storage medium of claim 11 wherein the periodic interval is dynamically changed based upon one or more criteria determined while the window resize action for the client-side application window is in progress.

13. A server system comprising:

a processor; and

a non-transitory computer readable medium having stored thereon program code for optimizing window resize actions for a remoted application, wherein the remoted application has a server-side application window running within a remote desktop of the server system, and wherein the server-side application window is made accessible to a user of a client system in the form of a client-side application window displayed in a client desktop of the client system, the program code causing the processor to:

transmit, to the client system, a notification that the server-side application window is being resized in the remote desktop;

receive, from the client system, a resize cancel message indicating that the server system should cancel resizing of the server-side application window in the remote desktop, wherein the client system transmits the resize cancel message in response to determining that the user is currently entering one or more input commands indicating that a window resize action for the client-side application window is in progress, and wherein the resize cancel message includes a user input event generated by the client system which indicates that the user has canceled the one or more input commands;

subsequently to receiving the resize cancel message, transmit, to the client system, a plurality of framebuffer updates of the remote desktop while the window resize action for the client-side application window is in progress;

subsequently to transmitting the plurality of framebuffer updates, receive, from the client system, a request to resize the server-side application window according to a final size of the client-side application window at completion of the window resize action; and

resize the server-side application window in accordance with the final size of the client-side application window.

14. The server system of claim 13 wherein the server system detects that the server-side application window is being resized in the remote desktop via one or more window resizing messages sent by an operating system executing the remote desktop.

15. The server system of claim 13 wherein upon receiving the resize cancel message, the server-side application window remains a fixed size in the remote desktop until the completion of the window resize action.

16. The server system of claim 13 wherein, for each framebuffer update received from the server system, the client system:

determines a portion of the framebuffer update corresponding to contents of the server-side application window;

scales the portion to match a current size of the client-side application window; and

draws the scaled portion within the client-side application window.

17. The server system of claim 13 wherein the program code further causes the processor to, subsequently to receiving the resize cancel message but prior to receiving the request:

resize, at a periodic interval, the server-side application window in the remote desktop to match a current size of the client-side application window in the client desktop.

18. The server system of claim 17 wherein the periodic interval is dynamically changed based upon one or more criteria determined while the window resize action for the client-side application window is in progress.

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 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2020
From: GROSS, ADAM GREGORY
To: VMWARE, INC.
Reel/Frame 051514/0982 →