IP Library › Granted Patent US 11,249,785
Granted Patent B2
US 11,249,785 · App. 16/448,569 · Granted Feb 15, 2022

Unified application notification framework

Inventors: Mingming Ren (Nanjing, CN); Yue Yao (Nanjing, CN)
Assignee: Citrix Systems, Inc.
G06F9/45558G06F3/04817G06F9/542G06F2009/45595
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,249,785
App. No.
16/448,569
Filed
Jun 21, 2019
Granted
Feb 15, 2022
Kind
B2
Art Unit
2196
USPC
718/1
Abstract

Methods and systems for a unified application notification framework are described herein. A server may receive a notification from a service provider. The service provider may be associated with an application executable on a virtual machine. The virtual machine may be part of a virtual environment that includes a user interface. The server may determine an identifier for the received notification. The identifier may indicate the application on the virtual machine associated with the service provider. The server may provide the received notification to the user interface for display to a user. The received notification may be displayed without execution of the application on the virtual machine.

Claims (40)

1. A method comprising:

receiving, by a server, a notification from a service provider, wherein the service provider is associated with an application executable on a virtual machine, and wherein the virtual machine is part of a virtual environment that includes a user interface;

determining, by the server, an identifier for the received notification, wherein the identifier indicates the application associated with the service provider;

determining that the application is not executing on the virtual machine;

providing, by the server, the received notification to the user interface for display to a user, the received notification being displayed while the application is not executing on the virtual machine and not being accessed through the user interface; and

causing, by the server and based on the determination that the application is not executing on the virtual machine, the application to execute on the virtual machine.

2. The method of claim 1 , wherein the determining the identifier comprises extracting, by the server, the identifier from the received notification.

3. The method of claim 1 , wherein the service provider comprises a backend service that services the application.

4. The method of claim 1 , wherein the service provider is at least one of a web server, a mail server, an application server, a messaging server, a location server, a content provider, an online streaming service, a social media service, a financial institute, a telecommunications service, an Internet service provider, or a software-as-a-service provider.

5. The method of claim 1 , wherein the virtual environment allows the user to access the virtual machine from a client device.

6. The method of claim 1 , wherein the virtual environment comprises at least one of a web client, an application, a service, or an operating system.

7. The method of claim 1 , wherein the virtual environment, after receiving the provided notification, displays the notification for the user.

8. The method of claim 7 , wherein the notification is displayed as at least one of text, an icon, a pop-up, a dialog box, a status bar, a toast, a tile, a badge, an alert, or a counter.

9. The method of claim 1 , wherein the causing the application to execute on the virtual machine comprises transmitting, by the server and to the virtual machine, a command for launching the application.

10. The method of claim 1 , wherein the method further comprises:

determining that the virtual machine is not operational; and

causing, by the server and to the virtual environment, the virtual machine to be operational by transmitting a command for launching the virtual machine.

11. The method of claim 1 , wherein the method further comprises:

after receiving the notification, causing, by the server, the virtual machine to perform at least one of downloading a file, terminating the application, or launching a related application that is related to the application.

12. The method of claim 1 , wherein the method further comprises:

scheduling the received notification to be provided to the virtual environment at a specific time.

13. The method of claim 1 , wherein the method further comprises:

receiving, by the server, a second notification from the service provider;

determining that the second notification does not satisfy a filtering criterion; and

discarding the second notification without providing the second notification to the virtual environment.

14. The method of claim 13 , wherein the filtering criterion comprises at least one of a notification type, a communication channel type, an application type, time, priority, or duplication.

15. A system comprising:

a memory; and

a processor coupled to the memory and configured to:

receive a notification from a service provider, wherein the service provider is associated with an application executable on a virtual machine, and wherein the virtual machine is part of a virtual environment that includes a user interface;

determine an identifier for the received notification, wherein the identifier indicates the application associated with the service provider; and

determine that the application is not executing on the virtual machine;

provide the received notification to the user interface for display to a user, the received notification being displayed while the application is not executing on the virtual machine and not being accessed through the user interface; and

cause, based on the determination that the application is not executing on the virtual machine, the application to execute on the virtual machine.

16. A non-transitory computer-readable storage medium storing instructions which, when executed by a processor, cause the processor to:

receive a notification from a service provider, wherein the service provider is associated with an application executable on a virtual machine, and wherein the virtual machine is part of a virtual environment that includes a user interface;

determine an identifier for the received notification, wherein the identifier indicates the application associated with the service provider;

determine that the application is not executing on the virtual machine;

provide the received notification to the user interface for display to a user, the received notification being displayed while the application is not executing on the virtual machine and not being accessed through the user interface; and

cause, based on the determination that the application is not executing on the virtual machine, the application to execute on the virtual machine.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2021
From: REN, MINGMING; YAO, YUE
To: CITRIX SYSTEMS, INC.
Reel/Frame 057414/0758 →
Continuity (2)
Continuation PCTCN2019080850 · Apr 1, 2019
Related Publication 20200310858A1 · Oct 1, 2020