IP Library › Granted Patent US 11,368,373
Granted Patent B2
US 11,368,373 · App. 16/902,867 · Granted Jun 21, 2022

Invoking microapp actions from user applications

Inventor: Manbinder Pal Singh (Coral Springs, FL)
Assignee: Citrix Systems, Inc.
H04L41/22G06F3/0482G06F3/04842G06F9/445G06F9/451H04L12/66H04L41/0803H04L67/141
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,368,373
App. No.
16/902,867
Filed
Jun 16, 2020
Granted
Jun 21, 2022
Kind
B2
Art Unit
2173
USPC
715/735
Abstract

In one disclosed method, a first application accessed by a client device receives an indicator of an action that a second application is configured to take with respect to a third application. The client device accesses a fourth application and presents, based at least in part on the indicator received by the first application, a user interface element for the fourth application. Based at least in part on detecting selection of the user interface element, the client device presents a user interface configured to cause the second application to take the action with respect to the third application in response to a user input. The client device detects the user input to the user interface and causes, based at least in part on the user input, the second application to perform the action with respect to the third application.

Claims (63)

1. A method, comprising:

sending, from a first application accessed by a client device to a remote computing system, first authentication credentials input to the client device by a first user;

receiving, by the first application and from the remote computing system, a first indicator of a second application that is accessible to the client device based on the remote computing system having authenticated an identity of the first user using the first authentication credentials;

receiving, by the first application and from the remote computing system, a second indicator of an action that a third application executing on the remote computing system is configured to take, based on the remote computing system having authenticated the identity of the first user using the first authentication credentials, with respect to a secure account of the first user that is maintained by a fourth application;

causing, by the first application and based at least in part on the first indicator, the client device to display a first user interface element corresponding to the second application;

detecting, by the first application, selection of the first user interface element;

causing, by the first application, the client device to access to the second application based at least in part on the selection of the first user interface element;

presenting, by the client device and based on the client device accessing the second application, a first user interface that enables user control of the second application;

causing, by the first application and based at least in part on the second indicator, the client device to present a second user interface element within the first user interface;

determining that the first user has selected information displayed via the first user interface;

determining that the second user interface element has been selected while the information displayed via the first user interface is in a selected state;

in response to the selection of the second user interface element, presenting, by the client device, a second user interface for the third application such that the second user interface includes at least a portion of the selected information, the second user interface further including a third user interface element that, when selected, causes the third application to take the action with respect to the secure account maintained by the fourth application using the portion of the selected information; and

in response to detecting selection of the third user interface element, sending, from the client device to the third application, an instruction that triggers the third application to take the action with respect to the secure account maintained by the fourth application by causing, based on the remote computing system having authenticated the identity of the first user using the first authentication credentials, second authentication credentials associated with the first user to be retrieved and used to authenticate to an application programming interface (API) of the fourth application to enable the third application to take the action with respect to the secure account maintained by the fourth application using the portion of the selected information.

2. The method of claim 1 , wherein:

the second application is remote from the client device; and

causing the client device to access the second application comprises configuring a remote access engine of the first application to access the second application.

3. The method of claim 2 , further comprising:

determining, by the remote access engine, to present the second user interface element within the first user interface based at least in part on the second indicator.

4. The method of claim 1 , wherein:

the second application is remote from the client device; and

causing the client device to access the second application comprises causing a connection to be established between the client device and a gateway that is in communication with the second application so as to enable the client device to access the second application via the gateway.

5. The method of claim 4 , further comprising:

sending, by the gateway to the client device, code that causes the second user interface element to be presented within the first user interface based at least in part on the second indicator.

6. The method of claim 1 , wherein causing the client device to access the second application comprises launching the second application.

7. The method of claim 6 , further comprising:

determining, by the second application, to present the second user interface element within the first user interface based at least in part on the second indicator.

8. The method of claim 1 , wherein:

the third application comprises a microapp hosted on the remote computing system.

9. The method of claim 1 , wherein:

the fourth application is executing on a system of record that is remote from the client device.

10. The method of claim 9 , wherein the system of record is remote from the remote computing system.

11. A system, comprising:

at least one processor; and

at least one computer-readable medium encoded with instructions which, when executed by the at least one processor, cause the system to:

send, from a first application accessed by a client device to a remote computing system, first authentication credentials input to the client device by a first user,

receive, by the first application and from the remote computing system, a first indicator of a second application that is accessible to the client device based on the remote computing system having authenticated an identity of the first user using the first authentication credentials,

receive, by the first application and from the remote computing system, a second indicator of an action that a third application executing on the remote computing system is configured to take, based on the remote computing system having authenticated the identity of the first user using the first authentication credentials, with respect to a secure account of the first user that is maintained by a fourth application,

cause, by the first application and based at least in part on the first indicator, the client device to display a first user interface element corresponding to the second application,

detect, by the first application, selection of the first user interface element,

cause, by the first application, the client device to access to the second application based at least in part on the selection of the first user interface element,

present, by the client device and based on the client device accessing the second application, a first user interface that enables user control of the second application,

cause, by the first application and based at least in part on the second indicator, the client device to present a second user interface element within the first user interface,

determine the first user has selected information displayed via the first user interface,

determine that the second user interface element has been selected while the information displayed via the first user interface is in a selected state,

in response to the selection of the second user interface element, present, by the client device, a second user interface for the third application such that the second user interface includes at least a portion of the selected information, the second user interface further including a third user interface element that, when selected, causes the third application to take the action with respect to the secure account maintained by the fourth application using the portion of the selected information, and

in response to detecting selection of the third user interface element, send, from the client device to the third application, an instruction that triggers the third application to take the action with respect to the secure account maintained by the fourth application by causing, based on the remote computing system having authenticated the identity of the first user using the first authentication credentials, second authentication credentials associated with the first user to be retrieved and used to authenticate to an application programming interface (API) of the fourth application to enable the third application to take the action with respect to the secure account maintained by the fourth application using the portion of the selected information.

12. The system of claim 11 , wherein the fourth application is remote from the client device, and the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:

cause the client device to access the second application at least in part by configuring a remote access engine of the first application to access the second application.

13. The system of claim 12 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:

determine, by the remote access engine, to present the second user interface element within the first user interface based at least in part on the second indicator.

14. The system of claim 11 , wherein:

the fourth application resides on a system of record that is remote from the client device.

15. The system of claim 14 , wherein the system of record is remote from the remote computing system.

16. The system of claim 11 , wherein the second application is remote from the client device, and the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:

cause the client device to access the second application at least in part by causing a connection to be established between the client device and a gateway that is in communication with the second application so as to enable the client device to access the second application via the gateway.

17. The system of claim 16 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:

send, by the gateway to the client device, code that causes the second user interface element to be presented within the first user interface based at least in part on the second indicator.

18. The system of claim 11 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:

cause the client device to access the second application at least in part by launching the second application.

19. The system of claim 18 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:

determine, by the second application, to present the second user interface element within the first user interface based at least in part on the second indicator.

20. The system of claim 11 , wherein:

the third application comprises a microapp hosted on the remote computing system.

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 Jun 16, 2020
From: SINGH, MANBINDER PAL
To: CITRIX SYSTEMS, INC.
Reel/Frame 052952/0961 →
Continuity (1)
Related Publication 20210392053A1 · Dec 16, 2021
Cited By (1)
US 12,566,647