IP Library Granted Patent US 11,153,364
Granted Patent B1
US 11,153,364 · App. 15/825,595 · Granted Oct 19, 2021

Embedding remote applications into HTML pages

Inventors: Joseph Portelli (Sliema, MT); Nikolay Dobrovolskiy (Moscow, RU); Serguei M. Beloussov (Singapore, SG)
Assignee: Parallels International GmbH
H04L67/025G06F9/45545H04L67/306
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,153,364
App. No.
15/825,595
Granted
Oct 19, 2021
Kind
B1
Abstract

Systems and methods for embedding remote applications into HyperText Markup Language (HTML) pages. An example method comprises: identifying, within a HTML page rendered by a browser, a frame referencing a remote application; determining at least one of: a size of a window for rendering output of the remote application on a virtual desktop produced by a virtual execution environment running the remote application or a position of the window on the virtual desktop; causing a remote access session to be established with the virtual execution environment; transmitting a first message specifying at least one of: the size of the window on the virtual desktop or the position of the window on the virtual desktop; and causing the frame to be displayed within the HTML page by the browser for rendering output of the remote application.

Claims (49)

1. A non-transitory computer-readable storage medium comprising executable instructions that, when executed by a processor, cause the processor to:

identify a hyperlink comprising an identifier of a remote application running in a virtual execution environment, wherein the hyperlink includes a frame height and a frame width of a frame for rendering output produced by the remote application;

determine, based on the frame width and the frame height, a position of a window for rendering output of the remote application on a virtual desktop of the virtual execution environment;

cause a remote access session to be established with the virtual execution environment;

transmit, to the virtual execution environment, a first message specifying the position of the window on the virtual desktop;

cause the frame to be displayed for rendering output of the remote application; and

responsive to receiving a user interface input associated with the frame, transmit a second message reflecting the user interface input.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the virtual execution environment is provided by a remote desktop server.

3. The non-transitory computer-readable storage medium of claim 1 , wherein the virtual execution environment is provided by a virtual desktop interface (VDI) agent running on a host computer system executing a virtual machine.

4. The non-transitory computer-readable storage medium of claim 1 , wherein the virtual execution environment is provided by a guest agent installed in a guest operating system of a virtual machine running on a host computer system.

5. The non-transitory computer-readable storage medium of claim 1 , wherein the virtual execution environment is provided by a remote personal computer (PC) agent running on a personal computer system.

6. The non-transitory computer-readable storage medium of claim 1 , wherein establishing the remote access session further comprises:

identifying an existing remote access session associated with a specified user account.

7. The non-transitory computer-readable storage medium of claim 1 , wherein establishing the remote access session further comprises:

initiating a new remote access session with the virtual execution environment.

8. The non-transitory computer-readable storage medium of claim 1 , wherein transmitting the second message reflecting the user interface input further comprises:

translating a first coordinate produced by the pointing device into a second coordinate within the window on the virtual desktop rendered by the virtual execution environment.

9. The non-transitory computer-readable storage medium of claim 1 , wherein the second message reflecting the user interface input comprises:

an identifier of a key received from a keyboard.

10. The non-transitory computer-readable storage medium of claim 1 , further comprising executable instructions to cause the processor to:

responsive to receiving a user input resizing the frame, cause a frame resizing operation triggered by the user input to be reverted.

11. The non-transitory computer-readable storage medium of claim 1 , further comprising executable instructions to cause the processor to:

responsive to receiving a user input moving the frame, cause a frame moving operation triggered by the user input to be reverted.

12. A system, comprising:

a memory; and

a processor, coupled to the memory, the processor configured to:

identify a hyperlink comprising an identifier of a remote application running in a virtual execution environment, wherein the hyperlink includes a frame height and a frame width of a frame for rendering output produced by the remote application;

determine, based on the frame width and the frame height, a position of a window for rendering output of the remote application on a virtual desktop of the virtual execution environment;

cause a remote access session to be established with the virtual execution environment;

transmit, to the virtual execution environment, a first message specifying the position of the window on the virtual desktop;

cause the frame to be displayed for rendering output of the remote application; and

responsive to receiving a user interface input associated with the frame, transmit a second message reflecting the user interface input.

13. The system of claim 12 , wherein the virtual execution environment is provided by one of: a remote desktop server, a virtual desktop interface (VDI) agent running on a host computer system executing a virtual machine, a guest agent installed in a guest operating system of a virtual machine running on a host computer system, or a remote personal computer (PC) agent running on a personal computer system.

14. The system of claim 12 , wherein transmitting the second message reflecting the user interface input further comprises:

translating a first coordinate produced by the pointing device into a second coordinate within the window on the virtual desktop rendered by the virtual execution environment.

15. The system of claim 12 , wherein the processor is further configured to:

responsive to receiving a user input resizing the frame, cause a frame resizing operation triggered by the user input to be reverted.

16. A method, comprising:

identifying a hyperlink comprising an identifier of a remote application running in a virtual execution environment, wherein the hyperlink includes a frame height and a frame width of a frame for rendering output produced by the remote application;

determining, based on the frame width and the frame height, a position of a window for rendering output of the remote application on a virtual desktop of the virtual execution environment;

causing a remote access session to be established with the virtual execution environment;

transmitting, to the virtual execution environment, a first message specifying the position of the window on the virtual desktop;

causing the frame to be displayed for rendering output of the remote application; and

responsive to receiving a user interface input associated with the frame, transmitting a second message reflecting the user interface input.

17. The method of claim 16 , wherein the virtual execution environment is provided by one of: a remote desktop server, a virtual desktop interface (VDI) agent running on a host computer system executing a virtual machine, a guest agent installed in a guest operating system of a virtual machine running on a host computer system, or a remote personal computer (PC) agent running on a personal computer system.

18. The method of claim 16 , wherein transmitting the second message reflecting the user interface input further comprises:

translating a first coordinate produced by the pointing device into a second coordinate within the window on the virtual desktop rendered by the virtual execution environment.

19. The method of claim 16 , further comprising:

responsive to receiving a user input resizing the frame, causing a frame resizing operation triggered by the user input to be reverted.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jul 18, 2019
From: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AND COLLATERAL AGENT
To: COREL CORPORATION; CLEARSLIDE, INC.; PARALLELS INTERNATIONAL GMBH
Reel/Frame 049787/0073 →
RELEASE OF SECURITY INTEREST RECORDED AT : REEL 047973 FRAME 0797 Recorded Jul 17, 2019
From: UBS AG, STAMFORD BRANCH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 049773/0590 →
SECURITY INTEREST Recorded Dec 21, 2018
From: PARALLELS INTERNATIONAL GMBH
To: UBS AG, STAMFORD BRANCH
Reel/Frame 047973/0797 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2017
From: PORTELLI, JOSEPH; DOBROVOLSKIY, NIKOLAY; BELOUSSOV, SERGUEI M.
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 044258/0736 →