IP Library Granted Patent US 11,582,284
Granted Patent B2
US 11,582,284 · App. 17/195,857 · Granted Feb 14, 2023

Optimization of publication of an application to a web browser

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/01G06F3/147G06F3/1454G09G5/00G09G5/001H04L67/02H04L67/1001H04L67/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,582,284
App. No.
17/195,857
Granted
Feb 14, 2023
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 (43)

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

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

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;

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 using double buffering of video frames, the merging comprising storing in a back buffer the image of the change resulting from performing at least one intermediate image merging operation, and copying the image of the change into a front buffer.

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 virtual screen is re-rendered on the client device by merging a previous virtual screen and the image of the change by a script running in the web browser of the client device.

5. The method of claim 4 , wherein the merging includes a changed portion of back buffer being copied into front buffer.

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

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

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

9. 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.

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

11. The method of claim 10 , wherein the JPG is used for compression of the image of the change.

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

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

14. 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:

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

compare the video frame to a previous video frame 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 using double buffering of video frames, the merging comprising storing in a back buffer the image of the change resulting from performing at least one intermediate image merging operation, and copying the image of the change into a front buffer.

15. The system of claim 14 , 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.

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

17. The system of claim 14 , wherein the virtual screen is re-rendered on the client device by merging a previous virtual screen and the image of the change by a script running in the web browser of the client device.

18. The system of claim 17 , wherein the merging includes a changed portion of back buffer being copied into front buffer.

19. The system of claim 17 , wherein the application is executed on an application server.

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

a server-side agent configured to:

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

compare the video frame to a previous video frame 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 the web browser of the client device, 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, the merging comprising storing in a back buffer the image of the change resulting from performing at least one intermediate image merging operation, and copying the image of the change into a front buffer, wherein the server-side agent captures all of a plurality of video frames of video data; 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 (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2021
From: ARAGÓN, FRANCISCO; SÁNCHEZ, RAUL; CRESPO, JAIME; SANTILLANA, OSCAR
To: ASG TECHNOLOGIES GROUP, INC. DBA ASG TECHNOLOGIES
Reel/Frame 055536/0334 →
Continuity (2)
Continuation 15818160 · Nov 20, 2017
Related Publication 20210194994A1 · Jun 24, 2021
Cited By (1)
US 12,393,394