# US 2020/0394084 A1 · Systems and methods for controlling delivery of notifications on a per user basis

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

- Number: US 2020/0394084 A1
- Document ID: US20200394084A1
- Status: Published application
- Kind: A1
- Application number: 16/440,523
- Filed: 2019-06-13
- Published: 2020-12-17
- Earliest claimed: 2019-06-13
- Assignees: Citrix Systems, Inc.
- Applicants: Citrix Systems, Inc.
- Inventors: Vipin Borkar; Santosh Sampath
- Web page: https://patentgrep.com/patent/US20200394084A1

## CPC

- G06F 9/5072: {Grid computing}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and method for controlling delivery of notifications on a per user basis. An agent, executed by a virtual machine, can establish one or more hooks to intercept notifications from an operating system of the virtual machine and one or more virtualized applications executed by the virtual machine accessible by a plurality of users. The agent can intercept, via the one or more hooks, a plurality of notifications for a plurality of users generated by the one or more virtualized applications or the operating system. The plurality of notifications can be sorted on a per user basis. The agent can communicate each user's notifications to a notification service to sort and aggregate the notifications with notifications from a plurality of applications used by each of the plurality of users. The notification service can select one or more notifications to provide to at least one device of a user.

## Claims

### Claim 1

A method for controlling delivery of notifications based on a user, the method comprising:
(a) establishing, by an agent executed by a virtual machine, one or more hooks to intercept notifications from an operating system of the virtual machine and one or more virtualized applications executed by the virtual machine accessible by a plurality of users;
(b) intercepting, by the agent via the one or more hooks, a plurality of notifications for a plurality of users generated by the one or more virtualized applications or the operating system;
(c) sorting, by the agent, the plurality of notifications on a per user basis; and
(d) communicating, by the agent, each user's notifications to a notification service to sort with notifications from a plurality of applications used by each of the plurality of users.

### Claim 2 (depends on 1)

The method of claim 1, wherein the notification service sorts each user's notifications from the virtual machine with notifications of the user from a cloud based application or a file system.

### Claim 3 (depends on 1)

The method of claim 1, wherein the notification service communicates notifications sorted between the plurality of applications to one or more devices of the user.

### Claim 4 (depends on 1)

The method of claim 1, further comprising identifying, by the notification service, duplicate notifications for the user received from the one or more virtualized applications or the operating system.

### Claim 5 (depends on 4)

The method of claim 4, further comprising removing, by the notification service, the duplicate notifications from the plurality of notifications for each user of the plurality of users.

### Claim 6 (depends on 1)

The method of claim 1, comprising generating, by the notification service, a plurality of subsets of notifications, each of the subsets of notifications intended for a different user of the plurality of users.

### Claim 7 (depends on 1)

The method of claim 1, comprising identifying, by the notification service via the agent, an action requested by the one or more virtualized applications or the operating system of the virtual machine, the action corresponding to at least one notification of the subset of notifications.

### Claim 8 (depends on 7)

The method of claim 7, comprising:
identifying, by the notification service, at least one user of the plurality of users associated with the virtual machine; and
providing, by the notification service, the action to a device associated with the user.

### Claim 9

A method comprising
(a) receiving, by a notification service from an agent executed by a virtual machine, a plurality of notifications for a user from virtualized applications executed by the virtual machine;
(b) receiving, by the notification service, notifications from other applications of the user;
(a) aggregating, by the notification service, notifications for the user from the plurality of virtualized applications and the plurality of other applications;
(d) selecting, by the notification service, one or more notifications from the aggregated notifications of the user, at least one of the one or more notifications comprising a notification to the user from a virtualized application; and
(e) communicating, by the notification service, the selected one or more notifications to a notification system of a device of the user;

### Claim 10 (depends on 9)

The method of claim 9, wherein responsive to the one or more notifications, a virtual session of the user is established by the user on the device of the user to connect to the virtualized application.

### Claim 11 (depends on 9)

The method of claim 9, wherein the notifications from the other applications include at least one of a web application notifications, a Software as a service (SaaS) application notifications, or a file notifications.

### Claim 12 (depends on 1)

The method of claim 1, comprising generating, by the notification service, an alert for the device of the user to indicate an action requested by the one or more virtualized applications or the operating system of the virtual machine.

### Claim 13 (depends on 1)

The method of claim 1, comprising providing, by the notification service, a plurality of alerts to one or more devices of the user, the plurality of alerts corresponding to the selected one or more notifications.

### Claim 14

A system for controlling delivery of notifications based on a user, the system comprising:
an agent executed by a virtual machine, the agent having one or more processors coupled to a memory, the agent configured to:
establish one or more hooks to intercept notifications from an operating system of the virtual machine and one or more virtualized applications executed by the virtual machine accessible by a plurality of users;
intercept, via the one or more hooks, a plurality of notifications for a plurality of users generated by the one or more virtualized applications or the operating system;
sort the plurality of notifications on a per user basis; and
communicate each user's notifications to a notification service to sort with notifications from a plurality of applications used by each of the plurality of users.

### Claim 15 (depends on 14)

The system of claim 14, wherein the notification service is configured to sort each user's notifications from the virtual machine with notifications of the user from a cloud based application or a file system.

### Claim 16 (depends on 14)

The system of claim 14, wherein the notification service is configured to communicate notifications sorted between the plurality of applications to one or more devices of the user.

### Claim 17 (depends on 14)

The system of claim 14, wherein the notification service is configured to identify duplicate notifications for the user received from the one or more virtualized applications or the operating system.

### Claim 18 (depends on 17)

The system of claim 17, wherein the notification service is further configured to remove the duplicate notifications from the plurality of notifications for each user of the plurality of users.

### Claim 19 (depends on 14)

The system of claim 14, wherein the notification service is configured to generate a plurality of subsets of notifications the per user basis, each of the subsets of notifications intended for a different user of the plurality of users.

### Claim 20 (depends on 14)

The system of claim 14, wherein the notification service is further configured to identify, via the agent, an action requested by the one or more virtualized applications or the operating system of the virtual machine, the action corresponding to at least one notification of the subset of notifications.
