# US 2022/0046044 A1 · Systems and methods for an embedded browser

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

- Number: US 2022/0046044 A1
- Document ID: US20220046044A1
- Status: Published application
- Kind: A1
- Application number: 17/509,421
- Filed: 2021-10-25
- Published: 2022-02-10
- Earliest claimed: 2018-05-04
- Assignees: Citrix Systems, Inc.
- Applicants: Citrix Systems, Inc.
- Inventors: Christopher Fleck; Kenneth Bell
- Web page: https://patentgrep.com/patent/US20220046044A1

## CPC

- G06F 9/54: Interprogram communication
- H04L 63/1425: {Traffic logging, e.g. anomaly detection}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/1408: {by monitoring network traffic (monitoring network traffic per se H04L43/00)}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- G06F 9/452: {Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The present disclosure is related to systems and methods of monitoring data of a network application. An embedded browser of a client application on a client device may initiate a request to access a network application hosted on a server. The client application may, responsive to the request, establish a secure session to communicate data of the network application to the client application for rendering in a display region of the embedded browser. The client application may decrypt the data communicated via the established secure session to monitor the network application.

## Claims

### Claim 1

A method comprising:
receiving, by a client device, a request to access an application hosted on a remote computing device;
communicating, by the client device, via a session, data being encrypted between the application and a browser within a client application of the client device; and
decrypting, by the client device, data received via the session to determine usage of the application .

### Claim 2 (depends on 1)

The method of claim 1, further comprising receiving, by the client application, the request from the browser to access the application.

### Claim 3 (depends on 1)

The method of claim 1, further comprising establishing, by the client device, the session responsive to the request.

### Claim 4 (depends on 1)

The method of claim 1, further comprising monitoring, by the client device, the application using the decrypted data.

### Claim 5 (depends on 1)

The method of claim 1, further comprising rendering, by the client device, a portion of the decrypted data in a portion of the browser.

### Claim 6 (depends on 1)

The method of claim 1, further comprising determining, by the client device, usage statistics based at least on interaction events identified from the decrypted data.

### Claim 7 (depends on 1)

The method of claim 1, further comprising determining, by the client device, usage statistics based at least on user interface elements of the application identified from the decrypted data.

### Claim 8

A device comprising:
one or more processors, coupled to memory and configured to:
receive a request to access an application hosted on a remote computing device;
communicate via a session, data being encrypted, between the application and a browser within a client application of the client device; and
decrypt data received via the session to determine usage of the application

### Claim 9 (depends on 8)

The device of claim 8, wherein a client application executable on the one or more processors is configured to receive the request from the browser to access the application.

### Claim 10 (depends on 8)

The device of claim 8, wherein the one or more processors are further configured to establish the session responsive to the request.

### Claim 11 (depends on 8)

The device of claim 8, wherein the one or more processors are further configured to monitor the application using the decrypted data.

### Claim 12 (depends on 8)

The device of claim 8, wherein the one or more processors are further configured to render a portion of the decrypted data in a portion of the browser.

### Claim 13 (depends on 8)

The device of claim 8, wherein the one or more processors are further configured to determine usage statistics based at least on interaction events identified from the decrypted data.

### Claim 14 (depends on 8)

The device of claim 8, wherein the one or more processors are further configured to determine usage statistics based at least on user interface elements of the application identified from the decrypted data.

### Claim 15

A non-transitory computer readable medium storing program instructions for causing one or more processors to:
receive a request from a browser of the client application to access the application;
use a session to communicate data being encrypted from the application to the browser; and
decrypt data received via the session to determine usage of the application.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the program instructions further cause the one or more processors to establish the session responsive to the request.

### Claim 17 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the program instructions further cause the one or more processors to monitor usage of the application using the decrypted data.

### Claim 18 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the program instructions further cause the one or more processors to render a portion of the decrypted data in a portion of the browser.

### Claim 19 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the program instructions further cause the one or more processors to determine usage based at least on interaction events identified from the decrypted data.

### Claim 20 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the program instructions further cause the one or more processors to determine usage based at least on user interface elements of the application identified from the decrypted data.
