Virtual machine pixel remoting
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for changing virtual machine user interfaces. One of the methods includes detecting, for a remote session, a first resolution for a content presentation area in a web browser, generating, using the first resolution, a first stream of pixels representative of a user interface, providing the first stream of pixels for display in the web browser, receiving input indicating a change to a resolution of the content presentation area in the web browser, detecting a second resolution for the content presentation area in the web browser, generating, using the second resolution, a second stream of pixels representative of the user interface, and providing the second stream of pixels for display in the web browser by the client device.
Claims
exact text as granted — not AI-modified1 . (canceled)
2 . A method comprising:
receiving a request from a first client device to initiate a first remote session that enables remote interaction with one or more applications executing on a virtual machine including presenting display data for a first application in a web browser executing on the first client device; generating, for the first remote session, a first stream of pixels representative of a first user interface for the first application for presentation in a content presentation area of the web browser; providing, during the remote session and to the client device, the first stream of pixels for display in the web browser; and detecting a change in a size of a window for presenting the first user interface for the application and, in response, adapting presentation properties using the detected size change including:
generating a second user interface for the first application based on the size change,
generating, using data for the second user interface, a second stream of pixels representative of the second user interface for the first application for presentation in a content presentation area of the window, and
providing the second stream of pixels for display in the window.
3 . The method of claim 2 , wherein determining a change in the size of the window comprises:
determining that the window has been resized at the client device from a first set of window dimensions to a second set of window dimensions.
4 . The method of claim 3 , wherein the detecting includes receiving input indicating a change to a resolution of the content presentation area in the window of the web browser.
5 . The method of claim 2 , wherein detecting a change in the size of the window comprises:
receiving a request to initiate a second remote session with the first application from a second client device, wherein the second client device is associated with the same credentials as the first client device; and determining that the presentation properties of the second client device causes the first application to resize the first user interface for the first application based on a canvas area of the window corresponding to a second web browser of the second client device.
6 . The method of claim 5 , wherein determining that the presentation properties of the second client device causes the first application to resize the first user interface includes receiving data indicating canvas parameters for the second client device.
7 . The method of claim 2 , comprising:
initiating the remote session with the first client device; and determining, by a host system, that the first client device does not include a remote client that can communicate with the host system, wherein generating the first stream of pixels representative of the first user interface for the first application is responsive to determining that the first client device does not include a remote client that can communicate with the host system.
8 . The method of claim 2 , comprising:
receiving, from the web browser, data representing user input for the first user interface of the first application; and providing, to the first application, the data representing the user input.
9 . A system comprising:
one or more computers configured to interact with a first client device and to perform operations comprising: receiving a request from a first client device to initiate a first remote session that enables remote interaction with one or more applications executing on a virtual machine including presenting display data for a first application in a web browser executing on the first client device; generating, for the first remote session, a first stream of pixels representative of a first user interface for the first application for presentation in a content presentation area of the web browser; providing, during the remote session and to the client device, the first stream of pixels for display in the web browser; and detecting a change in a size of a window for presenting the first user interface for the application and, in response, adapting presentation properties using the detected size change including:
generating a second user interface for the first application based on the size change,
generating, using data for the second user interface, a second stream of pixels representative of the second user interface for the first application for presentation in a content presentation area of the window, and
providing the second stream of pixels for display in the window.
10 . The system of claim 9 , wherein determining a change in the size of the window comprises:
determining that the window has been resized at the client device from a first set of window dimensions to a second set of window dimensions.
11 . The system of claim 10 , wherein the detecting includes receiving input indicating a change to a resolution of the content presentation area in the window of the web browser.
12 . The system of claim 9 , wherein detecting a change in the size of the window comprises:
receiving a request to initiate a second remote session with the first application from a second client device, wherein the second client device is associated with the same credentials as the first client device; and determining that the presentation properties of the second client device causes the first application to resize the first user interface for the first application based on a canvas area of the window corresponding to a second web browser of the second client device.
13 . The system of claim 12 , wherein determining that the presentation properties of the second client device causes the first application to resize the first user interface includes receiving data indicating canvas parameters for the second client device.
14 . The system of claim 9 , where the operations comprise:
initiating the remote session with the first client device; and determining, by a host system, that the first client device does not include a remote client that can communicate with the host system, wherein generating the first stream of pixels representative of the first user interface for the first application is responsive to determining that the first client device does not include a remote client that can communicate with the host system.
15 . The system of claim 9 , wherein the operations comprise:
receiving, from the web browser, data representing user input for the first user interface of the first application; and providing, to the first application, the data representing the user input.
16 . One or more non-transitory computer storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:
receiving a request from a first client device to initiate a first remote session that enables remote interaction with one or more applications executing on a virtual machine including presenting display data for a first application in a web browser executing on the first client device; generating, for the first remote session, a first stream of pixels representative of a first user interface for the first application for presentation in a content presentation area of the web browser; providing, during the remote session and to the client device, the first stream of pixels for display in the web browser; and detecting a change in a size of a window for presenting the first user interface for the application and, in response, adapting presentation properties using the detected size change including:
generating a second user interface for the first application based on the size change,
generating, using data for the second user interface, a second stream of pixels representative of the second user interface for the first application for presentation in a content presentation area of the window, and
providing the second stream of pixels for display in the window.
17 . The non-transitory computer storage media of claim 16 , wherein determining a change in the size of the window comprises:
determining that the window has been resized at the client device from a first set of window dimensions to a second set of window dimensions.
18 . The non-transitory computer storage media of claim 17 , wherein the detecting includes receiving input indicating a change to a resolution of the content presentation area in the window of the web browser.
19 . The non-transitory computer storage media of claim 16 , wherein detecting a change in the size of the window comprises:
receiving a request to initiate a second remote session with the first application from a second client device, wherein the second client device is associated with the same credentials as the first client device; and determining that the presentation properties of the second client device causes the first application to resize the first user interface for the first application based on a canvas area of the window corresponding to a second web browser of the second client device.
20 . The non-transitory computer storage media of claim 19 , wherein determining that the presentation properties of the second client device causes the first application to resize the first user interface includes receiving data indicating canvas parameters for the second client device.
21 . The non-transitory computer storage media of claim 16 , wherein the operations comprise:
initiating the remote session with the first client device; and determining, by a host system, that the first client device does not include a remote client that can communicate with the host system, wherein generating the first stream of pixels representative of the first user interface for the first application is responsive to determining that the first client device does not include a remote client that can communicate with the host system.Join the waitlist — get patent alerts
Track US2020045097A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.