IP Library Granted Patent US 11,347,574
Granted Patent B2
US 11,347,574 · App. 16/919,451 · Granted May 31, 2022

Systems and methods for processing software application notifications

Inventors: Jeremy White (Fort Lauderdale, FL); Ted Harwood (Highland Beach, FL); Wellington Goncalves (Cambridge, GB)
Assignee: Citrix Systems, Inc.
G06F11/0775G06F8/71G06F9/223G06F11/0793G06F11/302G06F11/3068
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,347,574
App. No.
16/919,451
Granted
May 31, 2022
Kind
B2
Abstract

Methods and systems for managing notifications relating to execution of microservices are described herein. A format of notifications relating to execution of a plurality of microservices may be defined. The format may provide that all notifications generated based on the format comprise code. The code may indicate, for example, an identity of one of a plurality of microservices, a version of the code, an occurrence of an issue in execution of the one of the plurality of microservices, and/or one or more scripts which may be executed to address an issue of the notification. Two or more notifications may be received, and the one or more notifications may be formatted based on the defined format. A third notification may be generated based on a comparison of the two or more notifications. The third notification may be transmitted to a computing device.

Claims (70)

1. A method comprising:

defining, by a computing device, a format of alerts relating to execution of a plurality of microservices, wherein the format provides that all alerts generated based on the format comprise code that indicates:

an identity of one of the plurality of microservices;

a version of the code; and

an occurrence of an issue in execution of the one of the plurality of microservices;

receiving, by the computing device and from a second computing device, a first alert indicative of execution of a first microservice of the plurality of microservices, wherein the first alert is formatted based on the defined format, and wherein first source code of the first microservice includes the format;

receiving, by the computing device and from the second computing device, a second alert indicative of subsequent execution of the first microservice, wherein the second alert is formatted based on the defined format;

identifying, based on the first alert and the second alert, one or more computing resources identified, by the first alert and the second alert, to be associated with the issue in the execution of the one of the plurality of microservices;

identifying, based on the issue in the execution of the one of the plurality of microservices, one or more scripts configured to, when executed, modify an available quantity of the one or more computing resources;

generating, by the computing device, a third alert based on a comparison of the first alert and the second alert, wherein the third alert comprises an indication of the one or more scripts; and

transmitting, to a third computing device, the third alert, wherein the third alert is configured to cause the third computing device to execute the one or more scripts so as to modify the available quantity of the one or more computing resources.

2. The method of claim 1 , wherein the first alert indicates execution of the first microservice, and wherein the second alert comprises an update associated with the execution of the first microservice.

3. The method of claim 1 , wherein the format provides that all alerts generated based on the format comprise code further indicate:

at least one script which may be executed to address an issue of the alert.

4. The method of claim 1 , further comprising:

receiving, by the computing device and from a fourth computing device, a fourth alert indicative of execution of a second microservice of the plurality of microservices; and

transmitting, to the third computing device and based on determining that the first alert, the second alert, and the third alert relate to a similar issue, an indication of the similar issue.

5. The method of claim 1 , wherein generating the third alert comprises:

determining one or more differences between the first alert and the second alert, wherein the third alert summarizes the one or more differences.

6. The method of claim 1 , wherein generating the third alert comprises:

determining a second format used by an application executing on the third computing device; and

generating the third alert based on the second format.

7. The method of claim 1 , wherein the first alert indicates a first issue with performance of a first task by the first microservice, wherein the second alert indicates a second issue with performance of a second task by the first microservice, wherein the first issue and second issue are different, and wherein the first task and second task are different.

8. A computing device comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the computing device to:

define a format of alerts relating to execution of a plurality of microservices, wherein the format provides that all alerts generated based on the format comprise code that indicates:

an identity of one of the plurality of microservices;

a version of the code; and

an occurrence of an issue in execution of the one of the plurality of microservices;

receive, from a second computing device, a first alert indicative of execution of a first microservice of the plurality of microservices, wherein the first alert is formatted based on the defined format, and wherein first source code of the first microservice includes the format;

receive, from the second computing device, a second alert indicative of subsequent execution of the first microservice, wherein the second alert is formatted based on the defined format;

identify, based on the first alert and the second alert, one or more computing resources identified, by the first alert and the second alert, to be associated with the issue in the execution of the one of the plurality of microservices;

identify, based on the issue in the execution of the one of the plurality of microservices, one or more scripts configured to, when executed, modify an available quantity of the one or more computing resources;

generate a third alert based on a comparison of the first alert and the second alert, wherein the third alert comprises an indication of the one or more scripts; and

transmit, to a third computing device, the third alert, wherein the third alert is configured to cause the third computing device to execute the one or more scripts so as to modify the available quantity of the one or more computing resources.

9. The computing device of claim 8 , wherein the first alert indicates execution of the first microservice, and wherein the second alert comprises an update associated with the execution of the first microservice.

10. The computing device of claim 8 , wherein the format provides that all alerts generated based on the format comprise code further indicate:

at least one script which may be executed to address an issue of the alert.

11. The computing device of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

receive, from a fourth computing device, a fourth alert indicative of execution of a second microservice of the plurality of microservices; and

transmit, to the third computing device and based on determining that the first alert, the second alert, and the third alert relate to a similar issue, an indication of the similar issue.

12. The computing device of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the computing device to generate the third alert by causing the computing device to:

determine one or more differences between the first alert and the second alert, wherein the third alert summarizes the one or more differences.

13. The computing device of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the computing device to generate the third alert by causing the computing device to:

determine a second format used by an application executing on the third computing device; and

generate the third alert based on the second format.

14. The computing device of claim 8 , wherein the first alert indicates a first issue with performance of a first task by the first microservice, wherein the second alert indicates a second issue with performance of a second task by the first microservice, wherein the first issue and second issue are different, and wherein the first task and second task are different.

15. One or more computer-readable media storing instructions that, when executed by one or more processors of a computing device, cause the computing device to:

define a format of alerts relating to execution of a plurality of microservices, wherein the format provides that all alerts generated based on the format comprise code that indicates:

an identity of one of the plurality of microservices;

a version of the code; and

an occurrence of an issue in execution of the one of the plurality of microservices;

receive, from a second computing device, a first alert indicative of execution of a first microservice of the plurality of microservices, wherein the first alert is formatted based on the defined format, and wherein first source code of the first microservice includes the format;

receive, from the second computing device, a second alert indicative of subsequent execution of the first microservice, wherein the second alert is formatted based on the defined format;

identify, based on the first alert and the second alert, one or more computing resources identified, by the first alert and the second alert, to be associated with the issue in the execution of the one of the plurality of microservices;

identify, based on the issue in the execution of the one of the plurality of microservices, one or more scripts configured to, when executed, modify an available quantity of the one or more computing resources;

generate a third alert based on a comparison of the first alert and the second alert, wherein the third alert comprises an indication of the one or more scripts; and

transmit, to a third computing device, the third alert, wherein the third alert is configured to cause the third computing device to execute the one or more scripts so as to modify the available quantity of the one or more computing resources.

16. The computer-readable media of claim 15 , wherein the first alert indicates execution of the first microservice, and wherein the second alert comprises an update associated with the execution of the first microservice.

17. The computer-readable media of claim 15 , wherein the format provides that all alerts generated based on the format comprise code further indicate:

at least one script which may be executed to address an issue of the alert.

18. The computer-readable media of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

receive, from a fourth computing device, a fourth alert indicative of execution of a second microservice of the plurality of microservices; and

transmit, to the third computing device and based on determining that the first alert, the second alert, and the third alert relate to a similar issue, an indication of the similar issue.

19. The computer-readable media of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the computing device to generate the third alert by causing the computing device to:

determine one or more differences between the first alert and the second alert, wherein the third alert summarizes the one or more differences.

20. The computer-readable media of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the computing device to generate the third alert by causing the computing device to:

determine a second format used by an application executing on the third computing device; and

generate the third alert based on the second format.

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 →
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 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 →
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 →
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 →
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 Apr 9, 2021
From: WHITE, JEREMY; HARWOOD, TED; GONCALVES, WELLINGTON
To: CITRIX SYSTEMS, INC.
Reel/Frame 055878/0675 →