# US 12,120,198 B2 · Systems for platform-independent application publishing to a web container

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,120,198 B2
- Document ID: US12120198B2
- Status: Granted
- Kind: B2
- Application number: 18/147,654
- Filed: 2022-12-28
- Published: 2023-05-04
- Granted: 2024-10-15
- Earliest claimed: 2017-12-29
- Assignees: Rocket Software Technologies, Inc.
- Applicants: Rocket Software Technologies, Inc.
- Inventors: Gabriel Bennet; Braulio Megías
- Web page: https://patentgrep.com/patent/US12120198B2

## CPC

- H04L 67/567: Integrating service provisioning from a plurality of service providers
- G06F 9/44521: {Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading}
- G06F 9/44526: {Plug-ins; Add-ons}
- G06F 9/45504: {Abstract machines for program code execution, e.g. Java virtual machine [JVM], interpreters or emulators}
- G06F 9/45529: {Embedded in an application, e.g. JavaScript in a Web browser}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/131: Protocols for games, networked simulations or virtual reality
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- G06F 9/4451: {User profiles; Roaming}
- H04L 67/306: User profiles
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Provided are computer-implemented methods and systems for publishing an application to a web container. An example method for publishing an application to a web container may include establishing a channel of communication with a user device associated with an end user. The method may further include embedding a web container into a web portal associated with a plurality of applications. The method may include executing an application in a user session associated with the end user. The method may further include capturing images of a virtual screen associated with the application executed on the application server. After the capture, the method may continue with sending the images to the web container of the web portal running in a web browser of the user device. The web container may publish the images to the web browser to display the application as part of the web portal in the web browser.

## Claims

### Claim 1

A method for publishing an application to a web container by an established channel of communication with a user device, the method comprising:
embedding, by an application server, a web container into at least one pluggable user interface software component of a web portal for a web browser at the user device, the web container comprising an HTML5 canvas element of the web portal, the web portal being associated with a plurality of applications;
executing, by the application server, an application of a plurality of applications in a user session associated with an end user associated with the user device, the application being platform-independent of the user device;
capturing, by a server-side agent running on the application server, one or more video frames of a virtual screen associated with the application executed on the application server; and
sending, by the server-side agent, the one or more video frames of the virtual screen to the web container of the web portal, the user device acting as a remote terminal for viewing the one or more video frames of the virtual screen and the HTML5 canvas element.

### Claim 2 (depends on 1)

The method of claim 1, wherein the web container is further configured to do at least one of the following: manage a life cycle of an application of the plurality of applications, provide storage mechanisms for application preferences and receive requests from the web portal to execute requests on the plurality of applications hosted by the web container.

### Claim 3 (depends on 1)

The method of claim 1, wherein the one or more video frames of the virtual screen are captured in at least one of a Joint Photographic Experts Group (JPEG) format and portable network graphics (PNG) format.

### Claim 4 (depends on 1)

The method of claim 1, wherein the channel of communication between the application server and the user device is for a Hypertext Transfer Protocol (HTTP) session.

### Claim 5 (depends on 1)

The method of claim 1, wherein the application is rendered using at least one of the following: a Hypertext Markup Language (HTML), and a script running inside the web browser of the user device.

### Claim 6 (depends on 1)

The method of claim 1, wherein the application is published to the web container of the web portal on the user device while the end user is logged into the web portal.

### Claim 7 (depends on 1)

The method of claim 1, wherein the web portal is compliant with HTML5 specifications.

### Claim 8 (depends on 1)

The method of claim 1, wherein the application is published to a Java Portlet Request or Sharepoint compliant portal via the web container.

### Claim 9 (depends on 1)

The method of claim 1, wherein the web container is configured to display an executed application as one of HTML, JavaScript, or CSS code embedded into the web portal.

### Claim 10 (depends on 1)

The method of claim 1, wherein the web container is configured to simultaneously publish the plurality of applications associated with the web portal to the web browser.

### Claim 11 (depends on 1)

The method of claim 1, wherein the plurality of applications is served through a proxy in the web portal.

### Claim 12 (depends on 1)

The method of claim 1, wherein the web portal is customized for the end user.

### Claim 13 (depends on 12)

The method of claim 12, wherein the customization is performed based on at least one of a user profile, user preferences provided or selected by the end user, personal data of the end user, data relating to activities of the end user on the web portal, data relating to activities of the end user regarding one or more of the plurality of applications of the web portal, and personal data of the end user collected by third parties.

### Claim 14

A system for publishing an application to a web container, the system comprising:
an application server comprising:
at least one processor;
at least one host, each of the at least one hosts hosting at least one web application coupled to a channel of communication with a user device; and
a memory storing processor-executable instructions, wherein the at least one processor is configured to implement the following operations upon executing the processor-executable instructions:
embed a web container into at least one pluggable user interface software component of a web portal for a web browser at the user device, the web container comprising an HTML5 canvas element of the web portal, the web portal being associated with a plurality of applications;
execute an application of a plurality of applications in a user session associated with an end user associated with the user device, the application being platform-independent of the user device;
capture one or more video frames of a virtual screen associated with the application executed on the application server; and
send the one or more video frames of the virtual screen to the web container of the web portal, the user device acting as a remote terminal for viewing the one or more video frames of the virtual screen and the HTML5 canvas element.

### Claim 15 (depends on 14)

The system of claim 14, wherein the publishing includes rendering the one or more video frames of the virtual screen associated with the application by the web container as part of a personalized front-end interface associated with the end user.

### Claim 16 (depends on 14)

The system of claim 14, wherein the application is rendered using one of the following: a Hypertext Markup Language (HTML) and a script running inside the web browser of the user device.

### Claim 17 (depends on 14)

The system of claim 14, wherein the application is published to the web container of the web portal on the user device while the end user is logged into the web portal.

### Claim 18 (depends on 14)

The system of claim 14, wherein the web portal is customized for the end user.

### Claim 19 (depends on 14)

The system of claim 14,
wherein the web portal includes a collaborative platform for the plurality of applications, wherein the web container is configured to do at least one of the following: manage a life cycle of an application of the plurality of applications, and simultaneously publish the plurality of applications to the web browser.

### Claim 20

A computer program product comprising a non-transitory computer useable storage device having a computer readable program for publishing an application to a web container by an established channel of communication with a user device, wherein the computer readable program when executed on an application server causes the application server to:
embed a web container into pluggable user interface software component of a web portal for a web browser at the user device, the web container comprising an HTML5 canvas element of the web portal, the web portal being associated with a plurality of applications;
execute an application of the plurality of applications in a user session associated with the end user associated with the user device, the application being platform-independent of the user device;
capture one or more video frames of a virtual screen associated with the application executed on the application server; and
send the one or more video frames of the virtual screen to the web container of the web portal, the user device acting as a remote terminal for viewing the one or more video frames of the virtual screen and the HTML5 canvas element.
