# US 2023/0409357 A1 · Asymmetric workspace application notification and interaction

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

- Number: US 2023/0409357 A1
- Document ID: US20230409357A1
- Status: Published application
- Kind: A1
- Application number: 17/845,559
- Filed: 2022-06-21
- Published: 2023-12-21
- Earliest claimed: 2022-05-25
- Assignees: Citrix Systems, Inc.
- Applicants: Citrix Systems, Inc.
- Inventors: Ye He
- Web page: https://patentgrep.com/patent/US20230409357A1

## CPC

- G06F 9/452: {Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131)}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and systems for implementing asymmetric workspace application notification and interaction are described herein. A computing device may determine a plurality of virtual desktops accessible from an endpoint device via one or more remote sessions associated with a user. The computing device may communicate with agent processes in the virtual desktops to determine user status in the corresponding virtual desktop. The computing device may receive an application notification generated from an application installed on the first virtual desktop. The computing device may determine that the user is active on a second virtual desktop. The computing device may send the application notification to the second virtual desktop and receive a response to the application notification. Accordingly, the computing device may cause an agent process to interact with the application on the first virtual desktop based on the response.

## Claims

### Claim 1

A method comprising:
determining, by a computing device, a plurality of virtual desktops accessible from an endpoint device via one or more remote sessions associated with a user;
receiving, by the computing device and from a first agent process running on a first virtual desktop, an application notification generated from an application installed on the first virtual desktop;
after determining that the user is active on a second virtual desktop, sending the application notification to the second virtual desktop;
receiving, by the computing device and from a second agent process running on the second virtual desktop, a response to the application notification; and
causing, by the computing device, the first agent process to interact with the application on the first virtual desktop based on the response.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining that the user is active on the second virtual desktop comprises:
receiving, by the computing device and from the second agent process, system events or user events in the second virtual desktop; and
determining, by the computing device, whether the user is active on the second virtual desktop based on the received system events or user events.

### Claim 3 (depends on 2)

The method of claim 2, wherein the user events comprise user interactions with a mouse, a keyboard or a microphone.

### Claim 4 (depends on 2)

The method of claim 2, wherein the system events comprise system API calls to determine whether the user is active in the second virtual desktop.

### Claim 5 (depends on 2)

The method of claim 2, further comprising:
determining, based on the system events or the user events received from the first agent process, the user is not active on the first virtual desktop.

### Claim 6 (depends on 1)

The method of claim 1, wherein sending the application notification to the second virtual desktop comprises:
receiving, by the computing device and from the first agent process, the application notification; and
sending, by the computing device and to the second agent process, the application notification.

### Claim 7 (depends on 1)

The method of claim 1, wherein sending the application notification comprises:
causing, by the computing device, the first agent process to send session information comprising the application notification to the second agent process.

### Claim 8 (depends on 1)

The method of claim 1, wherein receiving the response to the application notification:
causing, by the computing device, the second agent process to send session information comprising the response to the application notification to the first agent process.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
prior to detecting the plurality of virtual desktops, registering one or more applications executed in the plurality of virtual desktops associated with the user; and
configuring notifications associated with the one or more applications to be routed from one virtual desktop to another virtual desktop, wherein the notifications are associated with the application notification and the response to the application notification.

### Claim 10 (depends on 1)

The method of claim 1, wherein the plurality of virtual desktops are associated with concurrent remote sessions launched for the user.

### Claim 11

A computing device, comprising:
at least one processor; and
memory storing computer-readable instructions that, when executed by the at least one processor, cause the computing device to:
determine a plurality of virtual desktops accessible from an endpoint device via one or more remote sessions associated with a user;
receive, from a first agent process running on a first virtual desktop, an application notification generated from an application installed on the first virtual desktop;
after determining that the user is active on a second virtual desktop, send the application notification to the second virtual desktop;
receive, from a second agent process running on the second virtual desktop, a response to the application notification; and
cause the first agent process to interact with the application on the first virtual desktop based on the response.

### Claim 12 (depends on 11)

The computing device of claim 11, wherein the memory stores additional computer-readable instructions, that when executed by the at least one processor, cause the computing device to:
receive, from the second agent process, system events or user events in the second virtual desktop; and
determine whether the user is active on the second virtual desktop based on the received system events or user events.

### Claim 13 (depends on 12)

The computing device of claim 12, wherein the user events comprise user interactions with a mouse, a keyboard or a microphone.

### Claim 14 (depends on 12)

The computing device of claim 12, wherein the system events comprise system API calls to determine whether the user is active in the second virtual desktop.

### Claim 15 (depends on 12)

The computing device of claim 12, wherein the memory stores additional computer-readable instructions, that when executed by the at least one processor, cause the computing device to:
determining, based on the system events or the user events received from the first agent process, the user is not active on the first virtual desktop.

### Claim 16 (depends on 11)

The computing device of claim 11, wherein the memory stores additional computer-readable instructions, that when executed by the at least one processor, cause the computing device to send the application notification to the second virtual desktop by:
receiving, from the first agent process, the application notification; and
sending, to the second agent process, the application notification.

### Claim 17 (depends on 11)

The computing device of claim 11, wherein the memory stores additional computer-readable instructions, that when executed by the at least one processor, cause the computing device to send the application notification by:
causing the first agent process to send session information comprising the application notification to the second agent process.

### Claim 18 (depends on 11)

The computing device of claim 11, wherein the memory stores additional computer-readable instructions, that when executed by the at least one processor, cause the computing device to receive the response to the application notification by:
causing the second agent process to send session information comprising the response to the application notification to the first agent process.

### Claim 19 (depends on 11)

The computing device of claim 11, wherein the plurality of virtual desktops are associated with concurrent remote sessions launched for the user.

### Claim 20

One or more non-transitory computer-readable media storing instructions that, when executed by a computing device comprising at least one processor and memory, cause the computing device to:
determine a plurality of virtual desktops accessible from an endpoint device via one or more remote sessions associated with a user;
receive, from a first agent process running on a first virtual desktop, an application notification generated from an application installed on the first virtual desktop;
after determining that the user is active on a second virtual desktop, send the application notification to the second virtual desktop;
receive, from a second agent process running on the second virtual desktop, a response to the application notification; and
cause the first agent process to interact with the application on the first virtual desktop based on the response.
