IP Library Granted Patent US 10,599,486
Granted Patent B1
US 10,599,486 · App. 16/138,076 · Granted Mar 24, 2020

Systems and methods for intercepting and enhancing SaaS application calls via embedded browser

Inventors: Vipin Borkar (Bengaluru, IN); Santosh Sampath (Bengaluru, IN); Deepak Sharma (Bengaluru, IN); Arvind SankaraSubramanian (Bengaluru, IN)
Assignee: Citrix Systems, Inc.
G06F9/54G06F16/958H04L67/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 10,599,486
App. No.
16/138,076
Granted
Mar 24, 2020
Kind
B1
Abstract

Embodiments described include systems and methods for calling an application programming interface of a client application for a network application via an embedded browser of the client application. The method includes establishing, by a client application on a client device, one or more sessions to one or more network applications accessed via an embedded browser of the client application. The client application providing a plurality of application program interfaces (APIs). The client application can intercept a first API called by a network application of the one or more network applications and identify a policy for using the plurality of APIs of the client application. The client application can determine, based at least on the policy, a second API of the plurality of APIs to use for the intercepted first API, and execute, for the intercepted first API call, the second API of the plurality of APIs of the client application.

Claims (36)

1. A method comprising:

(a) establishing, by a client application on a client device, one or more sessions to one or more network applications accessed via an embedded browser of the client application, the client application providing a plurality of application program interfaces (APIs);

(b) intercepting, by the client application, a first application programming interface (API) called by a network application of the one or more network applications;

(c) identifying, by the client application, for the network application, a policy for using the plurality of APIs of the client application;

(d) determining, by the client application based at least on the policy, a second API of the plurality of APIs of the client application to use for the intercepted first API; and

(e) executing, by the client application for the intercepted first API call, the second API of the plurality of APIs of the client application.

2. The method of claim 1 , wherein the embedded browser is integrated into the client application.

3. The method of claim 1 , wherein the one or more network applications comprise an application hosted on a server accessed by the client device via a network.

4. The method of claim 1 , wherein (b) further comprises intercepting, by the client application, the first API comprising a hypertext markup language API of a web page of the network application in the browser of the client application.

5. The method of claim 1 , wherein (c) further comprises identifying the policy assigned to the network application, the client device or a user of the network application or the client device.

6. The method of claim 1 , wherein the policy is obtained by the client application from a server of an entity different from the entity of the network application.

7. The method of claim 1 , wherein (e) further comprises executing the second API within the client application by the embedded browser.

8. The method of claim 1 , wherein the second API of the client application provides functionality not available via the first API of the network application.

9. A system comprising:

a client application executable on a client device, the client application providing a plurality of application program interfaces (APIs) executable by the client application via an embedded browser; the client application configured to:

establish one or more sessions to one or more network applications accessed via the embedded browser of the client application;

intercept a first application programming interface (API) called by a network application of the one or more network applications;

identify, for the network application, a policy for using the plurality of APIs of the client application;

determine, based at least on the policy, a second API of the plurality of APIs of the client application to use for the intercepted first API; and

execute, for the intercepted first API call, the second API of the plurality of APIs of the client application.

10. The system of claim 9 , wherein the embedded browser is integrated into the client application.

11. The system of claim 9 , wherein the one or more network applications comprise an application hosted on a server accessed by the client device via a network.

12. The system of claim 9 , wherein the client application is further configured to intercept the first API comprising a hypertext markup language API of a web page of at least one network application of the one or more network applications in the browser of the client application.

13. The system of claim 9 , wherein the client application is further configured to identify the policy assigned to at least one network application of the one or more network applications, the client device or a user of the at least one network application or the client device.

14. The system of claim 9 , wherein the policy is obtained by the client application from a server of an entity different from the entity of the network application.

15. The system of claim 9 , wherein the client application is further configured to execute the second API within the client application by the embedded browser.

16. The system of claim 9 , wherein the second API of the client application provides functionality not available via the first API of the network application.

17. A method comprising:

(a) establishing, by a client application on a client device, a session to a network application accessed via an embedded browser of the client application, the client application providing a plurality of application program interfaces (APIs) executable by the client application via the embedded browser;

(b) receiving, by the embedded browser, a web page of the network application, the web page comprising an API of the plurality of APIs of the client application;

(c) identifying, by the client application, for the network application a policy for using the API of the client application;

(d) determining, by the client application based on the policy, that the network application has access to execute the API of the client application; and

(e) executing, by the client application, the API of the client application for the web page of the network application.

18. The method of claim 17 , wherein (b) further comprises determining, by the embedded browser, that the API being called by the web page is the API of the client application.

19. The method of claim 17 , wherein (c) further comprises identifying the policy assigned to the network application, the client device or a user of the network application or the client device.

20. The method of claim 17 , wherein the policy is obtained by the client application from a server of an entity different from the entity of the network application.

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 Sep 24, 2018
From: BORKAR, VIPIN; SAMPATH, SANTOSH; SHARMA, DEEPAK; SANKARASUBRAMANIAN, ARVIND
To: CITRIX SYSTEMS, INC.
Reel/Frame 047130/0187 →
Cited By (6)
US 12,238,101 US 12,289,308 US 12,407,730 US 12,413,624 US 12,445,493 US 12,452,306