IP Library Granted Patent US 11,057,500
Granted Patent B2
US 11,057,500 · App. 15/818,160 · Granted Jul 6, 2021

Publication of applications using server-side virtual screen change capture

Inventors: Francisco Aragón (Barcelona, ES); Raul Sánchez (Barcelona, ES); Jaime Crespo (Barcelona, ES); Oscar Santillana (Barcelona, ES)
Assignee: ASG Technologies Group, Inc.
H04L67/42G06F3/147G06F3/1454G09G5/00G09G5/001H04L67/02H04L67/1002H04L67/125H04L67/141G09G2340/02G09G2340/16G09G2350/00G09G2370/022
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,057,500
App. No.
15/818,160
Granted
Jul 6, 2021
Kind
B2
Abstract

Provided are computer-implemented methods and systems for optimization of publication of an application to a web browser. An example method for optimization of publication of an application to a web browser may include capturing, by a server-side agent, a video frame of a virtual screen associated with the application. The method may further include comparing, by the server-side agent, the video frame to a previous video frame of the virtual screen to detect a change in the video frame. The method may continue with generating, by the server-side agent, an image of the change based on the detection. The method may further include sending, by the server-side agent, the image of the change to a client device. The virtual screen may be re-rendered on the client device based on the image of the change and the previous video frame.

Claims (46)

1. A method for optimization of publication of an application to a web browser, the method comprising:

continuously monitoring, by a server-side agent, a virtual screen associated with the application, the virtual screen displaying video data comprising a plurality of video frames;

capturing, by the server-side agent, a video frame of the plurality of the video frames for the virtual screen associated with the application;

comparing, by the server-side agent, the video frame of the plurality of the video frames to a previous video frame of the plurality of the video frames of the virtual screen to detect a change in the video frame;

based on the detection, generating, by the server-side agent, an image of the change; and

sending, by the server-side agent, the image of the change to a client device, wherein the virtual screen is re-rendered on the client device based on the image of the change and the previous video frame, the virtual screen being re-rendered by merging the previous virtual screen and the image of the change by a script running in a web browser of the client device, wherein the server-side agent captures all of the plurality of video frames of the video data;

wherein the virtual screen is re-rendered inside a web portal associated with a workspace, the workspace including a plurality of applications.

2. The method of claim 1 , further comprising:

receiving, from the client device, a user action with respect to the virtual screen; and

in response to the user action, executing, on the application, a command corresponding to the user action, wherein the change in the video frame is caused by the execution of the command.

3. The method of claim 2 , wherein the user action includes one of a keyboard event, a mouse event, and a touchscreen event.

4. The method of claim 1 , wherein the merging the previous virtual screen and the image of the change is performed using double buffering of video frames.

5. The method of claim 1 , wherein the application is executed on an application server.

6. The method of claim 5 , wherein the image is sent via a channel of communication established between the client device and the application server.

7. The method of claim 6 , wherein the channel of communication includes a Hypertext Transfer Protocol (HTTP) session.

8. The method of claim 1 , wherein the virtual screen is re-rendered using Hypertext Markup Language (HTML) and a script running in the web browser.

9. The method of claim 1 , wherein the image is in one of the following formats: PNG and JPG.

10. The method of claim 9 , wherein the JPG format is used for compression of the image.

11. The method of claim 1 , wherein the plurality of applications associated with the web portal are executed on an application server.

12. A system for optimization of publication of an application to a web browser, the system comprising:

an application server configured to run the application; and

a server-side agent configured to:

continuously monitor a virtual screen associated with the application, the virtual screen displaying video data comprising a plurality of video frames;

capture a video frame of the plurality of the video frames for the virtual screen associated with the application;

compare the video frame of the plurality of the video frames to a previous video frame of the plurality of the video frames of the virtual screen to detect a change in the video frame;

based on the detection, generate an image of the change; and

send the image of the change to a client device, wherein the virtual screen is re-rendered on the client device based on the image of the change and the previous video frame, the virtual screen being re-rendered by merging the previous virtual screen and the image of the change by a script running in a web browser of the client device, wherein the server-side agent captures all of the plurality of video frames of the video data;

wherein the virtual screen is re-rendered inside a web portal associated with a workspace, the workspace including a plurality of applications.

13. The system of claim 12 , wherein the application server is configured to:

receive, from the client device, a user action with respect to the virtual screen; and

in response to the user action, execute, on the application, a command corresponding to the user action, wherein the change in the video frame is caused by the execution of the command.

14. The system of claim 13 , wherein the user action includes one of a keyboard event, a mouse event, and a touchscreen event.

15. The system of claim 12 , wherein merging the previous virtual screen and the image of the change is performed using double buffering of video frames.

16. The system of claim 12 , wherein the application is executed on the application server.

17. A system for optimization of publication of an application to a web browser, the system comprising:

a server-side agent configured to:

continuously monitor a virtual screen associated with the application, the virtual screen displaying video data comprising a plurality of video frames;

capture a video frame of the plurality of the video frames for the virtual screen associated with the application;

compare the video frame of the plurality of the video frames to a previous video frame of the plurality of the video frames of the virtual screen to detect a change in the video frame;

based on the detection, generate an image of the change; and

send the image of the change to a client device, wherein the virtual screen is re-rendered on the client device based on the image of the change and the previous video frame, the virtual screen being re-rendered by merging the previous virtual screen and the image by a script running in the web browser of the client device using double buffering of video frames, wherein the server-side agent captures all of the plurality of video frames of the video data;

wherein the virtual screen is re-rendered inside a web portal associated with a workspace, the workspace including a plurality of applications; and

an application server configured to:

run the application;

receive, from the client device, a user action with regard to the virtual screen, the user action including one of a keyboard event and a mouse event; and

in response to the user action, execute, on the application, a command corresponding to the user action, wherein the change in the video frame is caused by the execution of the command.

Assignments (6)
CHANGE OF NAME Recorded May 17, 2024
From: ASG TECHNOLOGIES GROUP, INC.
To: ROCKET SOFTWARE TECHNOLOGIES, INC.
Reel/Frame 067456/0863 →
CHANGE OF ADDRESS Recorded Dec 27, 2022
From: ASG TECHNOLOGIES GROUP, INC. DBA ASG TECHNOLOGIES
To: ASG TECHNOLOGIES GROUP, INC. DBA ASG TECHNOLOGIES
Reel/Frame 062714/0198 →
SECURITY AGREEMENT (SUPPLEMENT - FIRST LIEN) Recorded Sep 13, 2022
From: ASG TECHNOLOGIES GROUP, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS THE COLLATERAL AGENT
Reel/Frame 061419/0384 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: ASG TECHNOLOGIES GROUP, INC.
Reel/Frame 056312/0291 →
SECURITY INTEREST Recorded May 3, 2018
From: ASG TECHNOLOGIES GROUP, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045704/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2017
From: ARAGÓN, FRANCISCO; SÁNCHEZ, RAUL; CRESPO, JAIME; SANTILLANA, OSCAR
To: ASG TECHNOLOGIES GROUP, INC. DBA ASG TECHNOLOGIES
Reel/Frame 044390/0331 →
Continuity (1)
Related Publication 20190158630A1 · May 23, 2019
Cited By (2)
US 12,299,146 US 12,393,394