IP Library Granted Patent US 9,461,996
Granted Patent B2
US 9,461,996 · App. 13/102,937 · Granted Oct 4, 2016

Systems and methods for providing a single click access to enterprise, SAAS and cloud hosted application

Inventors: Richard Hayton (Cambridge, GB); Ajay Soni (San Jose, CA); Abhishek Chauhan (Saratoga, CA); Rajiv Sinha (San Jose, CA); Minoo Gupta (Los Gatos, CA)
Assignee: CITRIX SYSTEMS, INC.
H04L63/0884G06F21/00G06F21/31G06F21/41G06F21/554H04L63/0815
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 9,461,996
App. No.
13/102,937
Filed
May 6, 2011
Granted
Oct 4, 2016
Kind
B2
Art Unit
2439
USPC
726/8
Abstract

The present disclosure is directed to methods and systems of providing a user-selectable list of disparately hosted applications. A device intermediary to a client and one or more servers may receive a user request to access a list of applications published to the user. The device may communicate to the client the list of published applications available to the user, the list comprising graphical icons corresponding to disparately hosted applications, at least one graphical icon corresponding to a third-party hosted application of the disparately hosted applications, the third party hosted application served by a remote third-party server. The device may receive a selection from the user of the at least one graphical icon. The device may communicate, from the remote third party server to the client of the user, execution of the third party hosted application responsive to the selection by the user.

Claims (28)

1. A method of providing a selectable list of disparately hosted applications, the method comprising:

(a-1) receiving, by a device intermediary to a client and one or more servers of a host enterprise, a request from the client of a user of the host enterprise, to access a list of applications published to the user;

(a-2) including, by the device in the list of published applications, a first list of one or more applications hosted by a server of the host enterprise, identified to the device by the server of the host enterprise via a program neighborhood interface executing on the device in accordance with a configuration of the device, and a third party hosted application served by a remote third party server of a third party enterprise disparate from the host enterprise, identified in the configuration of the device, the program neighborhood interface configured to limit applications displayed via a program neighborhood application executing on the client, to those for which the user of the client has authorization to access;

(b) communicating, by the device to the client via a first network of the host enterprise, the list of published applications available to the user for display by the client via a single user interface of the program neighborhood application, the list of published applications comprising a plurality of graphical icons corresponding to a plurality of disparately hosted applications, at least one graphical icon corresponding to the third party hosted application among the plurality of disparately hosted applications, and a second graphical icon corresponding to the enterprise application hosted and served by the server of the host enterprise via the first network, the third party hosted application served via a second network by the remote third party server of the third party enterprise disparate from the host enterprise;

(c-1) authenticating, by the device, the user via a single set of authentication credentials for accessing the plurality of disparately hosted applications;

(c-2) receiving, by the device, a selection comprising a single click from the user of the at least one graphical icon corresponding to the third party hosted application, via the single user interface of the program neighborhood application; and

(d) communicating, via the device via the first network to the client of the user of the host enterprise responsive to the selection by the user, execution of the third party hosted application from the remote third party server via the second network.

2. The method of claim 1 , wherein step (b) further comprises identifying, by the device, applications for the list of published applications available for access to the user, the list of published applications comprising one or more graphical icons corresponding to one or more applications hosted by third party servers on third party networks and one or more graphical icons corresponding to one or more applications hosted on one or more local servers on a local network of the device.

3. The method of claim 1 , wherein step (b) further comprises enumerating, by the device, all disparately hosted applications available for access by the user into the list of published applications, a first application of the list of published applications comprising the enterprise application hosted by the host enterprise of the device, a second application of the list of published applications comprising an application of the host enterprise hosted via a cloud computing service and a third application of the list of published applications comprising the third-party application hosted by the third-party server.

4. The method of claim 1 , wherein step (b) further comprises providing, by the device, the list of published applications via a web interface page.

5. The method of claim 1 , wherein step (c-2) further comprises receiving, by the device, the selection from the user the at least one graphical icon corresponding to the third party hosted application comprising one of a Software as a Service (SAAS) application, a Platform as a Service (PAAS) application or an Infrastructure as a Service (IAAS) application.

6. The method of claim 1 , wherein step (d) further comprises automatically performing a login, by the device, to the third party hosted application on behalf of the user.

7. The method of claim 1 , wherein step (d) further comprises authenticating, by the device, the user to the third party hosted application using authentication credentials managed by the device for the user.

8. The method of claim 1 , wherein step (d) further comprises communicating, by the device, execution of the third party hosted application via one of streaming, a virtualized environment or a remote display protocol.

9. The method of claim 1 , further comprising receiving, by the device, a second selection of a second graphical icon corresponding to an application hosted by a local server of the host enterprise of the device; and communicating, by the device, execution of the selected second application to the client of the user.

10. The method of claim 1 , wherein (b) comprises communicating the list of published applications comprising the at least one graphical icon corresponding to the third party hosted application, the third party hosted application accessible to the user via the single interface in the same way as the application hosted by the host enterprise.

11. A system for providing a selectable list of disparately hosted applications, the system comprising:

a device intermediary to a client and one or more servers of a host enterprise, the device receiving a request from the client of a user of the host enterprise, to access a list of applications published to the user and including, to the list of published applications, a first list of one or more applications hosted by a server of the host enterprise, identified to the device by the server of the host enterprise via a program neighborhood interface executing on the device in accordance with a configuration of the device, and a third party hosted application served by a remote third party server of a third party enterprise disparate from the host enterprise, identified in the configuration of the device, the program neighborhood interface configured to limit applications displayed via a program neighborhood application executing on the client, to those for which the user of the client has authorization to access;

wherein a packet engine of the device communicates via a first network of the host enterprise the list of published applications available to the user for display by the client via a single user interface of the program neighborhood application, the list of published applications comprising a plurality of graphical icons corresponding to a plurality of disparately hosted applications, at least one graphical icon corresponding to the third party hosted application among the plurality of disparately hosted applications, and a second graphical icon corresponding to the enterprise application hosted and served by the server of the host enterprise via the first network, the third party hosted application served via a second network by the remote third party server of the third party enterprise disparate from the host enterprise, authenticates the user via a single set of authentication credentials for accessing the plurality of disparately hosted applications, and receives a selection comprising a single click from the user of the at least one graphical icon corresponding to the third party hosted application, via the single user interface of the program neighborhood application; and

wherein execution of the third-party hosed application from the remote third party server via the second network is communicated via the device via the first network to the client of the user of the host enterprise responsive to the selection by the user.

12. The system of claim 11 , wherein the device identifies applications for the list of applications available for access to the user, the list of published applications comprising one or more graphical icons corresponding to one or more applications hosted by third party servers on third party networks and one or more graphical icons corresponding to one or more applications hosted on one or more local servers on a local network of the device.

13. The system of claim 11 , wherein the device enumerates all disparately hosted applications available for access by the user into the list of published applications, a first application of the list of published applications comprising the enterprise application hosted by the host enterprise of the device, a second application of the list of published applications comprising an application of the host enterprise hosted via a cloud computing service and a third application of the list of published applications comprising the third-party application hosted by the third-party server.

14. The system of claim 11 , wherein the device provides the list of published applications via a web interface page.

15. The system of claim 11 , wherein the device receives from the user the selection of at least one graphical icon corresponding to the third party hosted application comprising one of a Software as a Service (SAAS) application, a Platform as a Service (PAAS) application or an Infrastructure as a Service (IAAS) application.

16. The system of claim 11 , wherein the device automatically performs a login to the third party hosted application on behalf of the user.

17. The system of claim 11 , wherein the device authenticates the user to the third party hosted application using authentication credentials managed by the device for the user.

18. The system of claim 11 , wherein the device communicates execution of the third party hosted application via one of streaming, a virtualized environment or a remote display protocol.

19. The system of claim 11 , wherein the device receives a second selection of a second graphical icon corresponding to an application hosted by a local server of the host enterprise of the device and communicates execution of the selected second application to the client of the user.

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: 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 →
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 →
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 Jul 13, 2011
From: HAYTON, RICHARD; SONI, AJAY; CHAUHAN, ABHISHEK; SINHA, RAJIV; GUPTA, MINOO
To: CITRIX SYSTEMS, INC.
Reel/Frame 026584/0039 →
Continuity (2)
Provisional Application 61332433 · May 7, 2010
Related Publication 20110277027A1 · Nov 10, 2011