IP Library Granted Patent US 11,625,243
Granted Patent B2
US 11,625,243 · App. 17/729,455 · Granted Apr 11, 2023

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,625,243
App. No.
17/729,455
Granted
Apr 11, 2023
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 (61)

1. A method comprising:

selecting, by a computing device, a user interface element within a user interface of a primary application based on one or more attributes of the primary application;

generating, by the computing device, an annotation for the selected user interface element;

receiving, by the computing device, a user selection of the annotation;

parsing, by the computing device and in response to receiving the user selection, 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, the JSON output representing a microapp configuration; and

generating, by the computing device, a microapp based on the microapp configuration;

wherein the microapp is 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 , 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.

7. 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.

8. 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:

selecting a user interface element within a user interface of a primary application based on one or more attributes of the primary application;

generating an annotation for the selected user interface element;

receiving a user selection of the annotation;

parsing, in response to receiving the user selection, 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 in a JSON format, the JSON output representing a microapp configuration; and

generating a microapp based on the microapp configuration;

wherein the microapp is 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.

9. The computer program product of claim 8 , 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.

10. The computer program product of claim 9 , 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.

11. The computer program product of claim 8 , 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.

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

13. 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

selecting a user interface element within a user interface of a primary application based on one or more attributes of the primary application;

generating an annotation for the selected user interface element;

receiving a user selection of the annotation;

parsing, in response to receiving the user selection, 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, the JSON output representing a microapp configuration; and

generating a microapp based on the microapp configuration;

wherein the microapp is 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.

14. The system of claim 13 , 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.

15. The system of claim 14 , 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.

16. The system of claim 13 , 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.

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

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2022
From: SINGH, MANBINDER PAL
To: CITRIX SYSTEMS, INC.
Reel/Frame 059736/0259 →
Continuity (2)
Continuation 16861447 · Apr 29, 2020
Related Publication 20220261244A1 · Aug 18, 2022