IP Library Granted Patent US 11,354,122
Granted Patent B2
US 11,354,122 · App. 16/861,447 · Granted Jun 7, 2022

Micro-application creation and execution

Inventor: Manbinder Pal Singh (Coral Springs, FL)
Assignee: Citrix Systems, Inc.
G06F9/226G06F3/0482G06F9/451
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,354,122
App. No.
16/861,447
Granted
Jun 7, 2022
Kind
B2
Abstract

A method for creating and executing a micro-application includes receiving a user selection of a user interface element within a user interface of a primary application. Source code associated with the selected user interface element is parsed to obtain at least one attribute associated with the selected user interface element. Data associated with the selected user interface element is identified based on the source code. A response based on the at least one attribute and the data is generated. A microapp configured to process the response to obtain the data from within the primary application is generated.

Claims (55)

1. A method comprising:

receiving, by a computing device, a user selection of a user interface element within a user interface of a primary application;

parsing, by the computing device, source code associated with the selected user interface element to obtain at least one attribute associated with the selected user interface element;

identifying, by the computing device, data from a system of record, the data associated with the selected user interface element based on the source code;

converting, by the computing device, an HTTP response based on the at least one attribute and the data into a JavaScript Object Notation (JSON) output representing the at least one attribute and the data in a JSON format; and

generating, by the computing device, a microapp configured to

execute application programming interface (API) adapter code to transform the HTTP response into the JSON output,

process the JSON output to obtain the data from the system of record independently of and from within the primary application, and

present the data via the user interface of the primary application.

2. The method of claim 1 , further comprising determining, by the computing device, that the selected user interface element includes a grouping of user interface elements based on at least one of:

a length or size of the selected user interface element;

a table or list within the selected user interface element; and

at least two user interface elements in the grouping of user interface elements having a common ancestor user interface element in the grouping of user interface elements.

3. The method of claim 2 , wherein the at least one attribute is unique to a child user interface element in the grouping of user interface elements or unique to an ancestor user interface element in the grouping of user interface elements.

4. The method of claim 1 , further comprising causing, by the computing device, the microapp to perform an operation including executing at least one hyperlink or action associated with the selected user interface element from within the primary application.

5. The method of claim 4 , further comprising causing, by the computing device, the microapp to display a result of the operation via the user interface of the primary application.

6. The method of claim 4 , wherein the microapp is configured to perform the operation periodically.

7. The method of claim 4 , further comprising retrieving, by the computing device, the HTTP response from the primary application in response to execution of the at least one hyperlink or action by the microapp.

8. The method of claim 1 , further comprising comparing the data in the JSON output to a local cache of data in the JSON format, and causing the microapp to display a notification via the user interface of the primary application based on the comparison.

9. A computer program product including one or more non-volatile memories having instructions encoded thereon that when executed by at least one processor cause a process to be carried out, the process comprising:

receiving a user selection of a user interface element within a user interface of a primary application;

parsing source code associated with the selected user interface element to obtain at least one attribute associated with the selected user interface element;

identifying data from a system of record, the data associated with the selected user interface element based on the source code;

converting an HTTP response based on the data into a JavaScript Object Notation (JSON) output representing the data; and

generating a microapp configured to

execute application programming interface (API) adapter code to transform the HTTP response into the JSON output,

process the JSON output to obtain the data from the system of record independently of and from within the primary application, and

present the data via the user interface of the primary application.

10. The computer program product of claim 9 , wherein the process further comprises determining that the selected user interface element includes a grouping of user interface elements based on at least one of:

a length or size of the selected user interface element;

a table or list within the selected user interface element; and

at least two user interface elements in the grouping of user interface elements having a common ancestor user interface element in the grouping of user interface elements.

11. The computer program product of claim 10 , wherein the at least one attribute is unique to a child user interface element in the grouping of user interface elements or unique to an ancestor user interface element in the grouping of user interface elements.

12. The computer program product of claim 9 , wherein the process further comprises causing the microapp to perform an operation including executing at least one hyperlink or action associated with the selected user interface element from within the primary application.

13. The computer program product of claim 12 , wherein the process further comprises causing the microapp to display a result of the operation via the user interface of the primary application.

14. The computer program product of claim 12 , wherein the microapp is configured to perform the operation periodically.

15. A system comprising:

a storage; and

at least one processor operatively coupled to the storage, the at least one processor configured to execute instructions stored in the storage that when executed cause the at least one processor to carry out a process including

receiving a user selection of a user interface element within a user interface of a primary application;

parsing source code associated with the selected user interface element to obtain at least one attribute associated with the selected user interface element;

identifying data from a system of record, the data associated with the selected user interface element based on the source code;

converting an HTTP response based on the at least one attribute and the data into a JavaScript Object Notation (JSON) output representing the at least one attribute and the data in a JSON format; and

generating a microapp configured to

execute application programming interface (API) adapter code to transform the HTTP response into the JSON output,

process the JSON output to obtain the data from the system of record independently of and from within the primary application, and

present the data via the user interface of the primary application.

16. The system of claim 15 , wherein the process further comprises determining that the selected user interface element includes a grouping of user interface elements based on at least one of:

a length or size of the selected user interface element;

a table or list within the selected user interface element; and

at least two user interface elements in the grouping of user interface elements having a common ancestor user interface element in the grouping of user interface elements.

17. The system of claim 16 , wherein the at least one attribute is unique to a child user interface element in the grouping of user interface elements or unique to an ancestor user interface element in the grouping of user interface elements.

18. The system of claim 15 , wherein the process further comprises causing the microapp to perform an operation including executing at least one hyperlink or action associated with the selected user interface element from within the primary application.

19. The system of claim 18 , wherein the process further comprises causing the microapp to display a result of the operation via the user interface of the primary application.

20. The system of claim 18 , wherein the microapp is configured to perform the operation periodically.

Assignments (10)
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: 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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ADDRESS PREVIOUSLY RECORDED AT REEL: 053372 FRAME: 0612. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 5, 2020
From: SINGH, MANBINDER PAL
To: CITRIX SYSTEMS, INC.
Reel/Frame 053407/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2020
From: SINGH, MANBINDER PAL
To: CITRIX SYSTEMS, INC.
Reel/Frame 053372/0612 →
Continuity (1)
Related Publication 20210342147A1 · Nov 4, 2021