IP Library Granted Patent US 10,976,981
Granted Patent B2
US 10,976,981 · App. 15/250,443 · Granted Apr 13, 2021

Remote desktop exporting

Inventors: Daniel James Beveridge (Apollo Beach, FL); Blake Watts (St. George, UT); Jian Mu (Beijing, CN)
Assignee: VMware, Inc.
G06F3/1454G06F3/04842G06F3/1423G06F9/452G09G5/005H04L12/4633H04L67/08H04L67/28H04L67/36
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 10,976,981
App. No.
15/250,443
Granted
Apr 13, 2021
Kind
B2
Abstract

A selected screen, such as a monitoring tool, operating on a remote desktop is exported to a mobile client device, such as a smart phone, tablet, smart watch, etc. The client device polls the remote desktop for images, pointers, commands, etc. relating to the selected screen. The remote desktop provides the requested data to the client device through a command queue maintained by the remote desktop.

Claims (57)

1. A computer-implemented method performed by at least a processor, the method comprising:

receiving, by a destination device, a selected portion of a graphical user interface (GUI) window open on a source device to be mirrored to the destination device;

polling the source device for information generated on the source device, the information comprising image location information related to the selected portion of the GUI window, the selected portion of the GUI window on the source device including one or more control elements requiring one or more responses;

based on the polling of the source device, accessing the image location information related to the selected portion of the GUI window on the source device;

based on accessing the image location information, obtaining, by the destination device, an image of the selected portion of the GUI window from a location specified by the image location information, the image including the one or more control elements requiring one or more responses;

displaying, by the destination device, the image of the selected portion of the GUI window;

upon receiving a response to a first control element of the one or more control elements of the image on the source device and receiving a response to the first control element of the image on the destination device, before performing at least one action corresponding to either of the received responses, prioritizing the response received on the destination device to be selected over the response received on the source device; and

performing the at least one action corresponding to the selected response on the destination device, and communicating the at least one performed action to the source device.

2. The method of claim 1 , wherein the selected portion of the GUI window includes a progress status bar that is associated with a compile job of a program, the progress status bar indicating a compile time of the program on the destination device.

3. The method of claim 2 , wherein the progress status bar displays sequential images of progress of the compile job on a wearable device.

4. The method of claim 1 , wherein a priority to select the response received on the destination device and the response received on the source device is established by a user of the source device.

5. The method of claim 1 , wherein receiving the selected portion of the GUI window further comprises:

receiving from the source device, indication of one or more changes in the selected portion of the GUI window requiring a response; and

providing at the destination device the response, the response being communicated back to the source device for action.

6. The method of claim 1 , wherein the selected portion of the GUI window includes a progress status bar and further comprising:

displaying the progress status bar in an interactive mode that includes one or more control elements prompting one or more responses at the destination device; and

providing a response on the destination device to the one or more control elements by selecting one option of one or more options shown in a dialogue box on the destination device.

7. The method of claim 1 , further comprises:

initiating a connection to a virtual machine by providing registration credentials of the destination device to the virtual machine; and

based on the provided registration credentials, providing access to the source device via the virtual machine.

8. The method of claim 1 , further comprising:

automatically receiving from the source device one or more first files open on the source device, the source device being configured to export the one or more first files whenever the one or more first files are opened on the source device.

9. A system, comprising:

one or more memories storing computer-executable instructions; and

one or more processors operationally coupled to the one or more memories and configured to execute the computer-executable instructions to:

receive, by a destination device, a selected portion of a graphical user interface (GUI) window open on a source device to be mirrored to the destination device;

poll the source device for information generated on the source device, the information comprising image location information related to the selected portion of the GUI window, the selected portion of the GUI window on the source device including one or more control elements requiring one or more responses;

based on the polling of the source device, access the image location information related to the selected portion of the GUI window on the source device;

based on accessing the image location information, obtain, by the destination device, an image of the selected portion of the GUI window from a location specified by the image location information, the image including the one or more control elements requiring one or more responses;

displaying, by the destination device, the image of the selected portion of the GUI window;

upon receiving a response to a first control element of the one or more control elements of the image on the source device and receiving a response to the first control element of the image on the destination device, before performing at least one action corresponding to either of the received responses, prioritizing the response received on the destination device to be selected over the response received on the source device; and

performing the at least one action corresponding to the selected response on the destination device, and communicating the at least one performed action to the source device.

10. The system of claim 9 , wherein the selected portion of the GUI window includes a progress status bar that is associated with a compile job of a program, the progress status bar indicating a compile time of the program on the destination device.

11. The system of claim 10 , wherein the progress status bar displays sequential images of progress of the compile job on a wearable device.

12. The method of claim 9 , wherein a priority to select the response received on the destination device and the response received on the source device is established by a user of the source device.

13. The system of claim 9 , wherein receiving the selected portion of the GUI window further comprises:

receiving from the source device, indication of one or more changes in the selected portion of the GUI window requiring a response; and

providing at the destination device the response, the response being communicated to the source device for action.

14. The system of claim 9 , wherein the one or more processors operationally coupled to the one or more memories are configured to execute the computer-executable instructions to further:

initiate a connection to a virtual machine by providing registration credentials of the destination device to the virtual machine; and

based on the provided registration credentials, provide access to the source device via the virtual machine.

15. The system of claim 9 , wherein the one or more processors operationally coupled to the one or more memories are configured to execute the computer-executable instructions to further:

automatically receive from the source device one or more first files open on the source device, the source device being configured to export the one or more first files whenever the one or more first files are opened on the source device.

16. The system of claim 9 , wherein the selected portion of the GUI window includes a progress status bar and the one or more processors operationally coupled to the one or more memories are configured to execute the computer-executable instructions to further:

display the progress status bar in an interactive mode that includes one or more control elements prompting one or more responses at the destination device; and

provide a response on the destination device to the one or more control elements by selecting one option of one or more options shown in a dialogue box on the destination device.

17. A non-transitory computer-storage memory embodied with instructions executable by one or more processors to enable remote authentication of a desktop by a client device, said instructions comprising:

receiving, by a destination device, a selected portion of a graphical user interface (GUI) window open on a source device to be mirrored to the destination device;

polling the source device for information generated on the source device, the information comprising image location information related to the selected portion of the GUI window, the selected portion of the GUI window on the source device including one or more control elements requiring one or more responses;

based on the polling of the source device, accessing the image location information related to the selected portion of the GUI window on the source device;

based on accessing the image location information, obtaining, by the destination device, an image of the selected portion of the GUI window from a location specified by the image location information, the image including the one or more control elements requiring one or more responses;

displaying, by the destination device, the image of the selected portion of the GUI window;

upon receiving a response to a first control element of the one or more control elements of the image on the source device and receiving a response to the first control element of the image on the destination device, before performing at least one action corresponding to either of the received responses, prioritizing the response received on the destination device to be selected over the response received on the source device; and

performing the at least one action corresponding to the selected response on the destination device, and communicating the at least one performed action to the source device.

18. The non-transitory computer-storage memory of claim 17 , wherein the selected portion of the GUI window includes a progress status bar, the progress status bar being associated with a compile job of a program, and indicating a compile time of the program on the destination device.

19. The non-transitory computer-storage memory of claim 18 , wherein the progress status bar displays sequential images of progress of the compile job on a wearable device.

20. The non-transitory computer-storage memory of claim 17 , wherein a priority to select the response received on the destination device and the response received on the source device is established by a user of the source device.

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/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2016
From: BEVERIDGE, DANIEL JAMES; WATTS, BLAKE; MU, JIAN
To: VMWARE, INC.
Reel/Frame 039569/0048 →
Continuity (8)
Continuation In Part 14686769 · Apr 14, 2015
Continuation 13217484 · Aug 25, 2011
Provisional Application 62211736 · Aug 29, 2015
Provisional Application 62211850 · Aug 30, 2015
Provisional Application 62356507 · Jun 29, 2016
Provisional Application 62356506 · Jun 29, 2016
Provisional Application 61508404 · Jul 15, 2011
Related Publication 20160364200A1 · Dec 15, 2016