IP Library › Granted Patent US 11,665,085
Granted Patent B2
US 11,665,085 · App. 17/490,397 · Granted May 30, 2023

Optimizing selection of gateways based on location and user experience related metrics

Inventor: Ishita Sinha (Noida, IN)
Assignee: Citrix Systems, Inc.
H04L45/121H04L43/0852H04L45/70
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,665,085
App. No.
17/490,397
Granted
May 30, 2023
Kind
B2
Abstract

Described embodiments provide systems and methods for selecting a device via which to access a server. A service having one or more processors coupled with memory may detect a measure of experience for a client device in accessing a server via a first device being below a threshold. The service may identify, responsive to the detection, a plurality of devices available for the client device to access the server. The service may determine a distance between each of the plurality of devices and at least one of the client device or the server. The service may select a second device from the plurality of devices via which the client device is to access the server based at least on the distance between the second device and at least one of the client device or the server.

Claims (31)

1. A method of selecting a device via which to access a server, comprising:

detecting, by a service, a measure of experience for a client device in accessing a server via a first device being below a threshold;

identifying, by the service responsive to the detection, a plurality of devices available for the client device to access the server;

determining, by the server, a distance between each of the plurality of devices and at least one of the client device or the server, responsive to identifying a latency between the first device and one of the client device or the server as below the threshold; and

selecting, by the server, a second device from the plurality of devices via which the client device is to access the server based at least on the distance between the second device and at least one of the client device or the server.

2. The method of claim 1 , wherein detecting the measure of experience further comprises identifying at least one of a latency between the first device and the server or a latency between the client device and the first device, as below the threshold.

3. The method of claim 1 , wherein identifying the plurality of devices further comprises identifying the plurality of devices with which the client device was previously connected, responsive to a latency between the client and the first device being below the threshold.

4. The method of claim 1 , wherein identifying the plurality of devices further comprises identifying the plurality of devices with which the server was previously connected, responsive to a latency between the first device and the server being below the threshold.

5. The method of claim 1 , wherein determining the distance further comprises identifying, using a previously establish session, a location of at least one of the first device, the client device, or at least one of the devices.

6. The method of claim 1 , further comprising providing, by the service, information on the measure of experience for the client device in accessing the server via the first device and the distance between each of the plurality of devices and at least one of the client device or the server.

7. The method of claim 1 , further comprising determining, by the service responsive to the first device matching the second device selected from the plurality of devices, that the first device is to be continued for use by the client device in accessing the server.

8. The method of claim 1 , further comprising determining, by the service responsive to the first device not matching the second device selected from the plurality of devices, that a distance between the first device and at least one of the client device and the server is a cause of the measure of experience being below the threshold.

9. A system for selecting a device via which to access a server, comprising:

a service having one or more processors coupled with memory, configured to:

detect a measure of experience for a client device in accessing a server via a first device being below a threshold;

identify, responsive to the detection, a plurality of devices available for the client device to access the server;

determine a distance between each of the plurality of devices and at least one of the client device or the server, responsive to identifying a latency between the first device and one of the client device or the server as below the threshold; and

select a second device from the plurality of devices via which the client device is to access the server based at least on the distance between the second device and at least one of the client device or the server.

10. The system of claim 9 , wherein the service is further configured to identify at least one of a latency between the first device and the server or a latency between the client device and the first device, as below the threshold.

11. The system of claim 9 , wherein the service is further configured to identify the plurality of devices with which the client device was previously connected, responsive to a latency between the client and the first device being below the threshold.

12. The system of claim 9 , wherein the service is further configured to identify the plurality of devices with which the server was previously connected, responsive to a latency between the first device and the server being below the threshold.

13. The system of claim 9 , wherein the service is further configured to provide information on the measure of experience for the client device in accessing the server via the first device and the distance between each of the plurality of devices and at least one of the client device or the server.

14. The system of claim 9 , wherein the service is further configured to determine, responsive to the first device matching the second device selected from the plurality of devices, that the first device is to be continued for use by the client device in accessing the server.

15. The system of claim 9 , wherein the service is further configured to determine, responsive to the first device not matching the second device selected from the plurality of devices, that a distance between the first device and at least one of the client device and the server is a cause of the measure of experience being below the threshold.

16. A non-transitory computer readable medium storing program instructions for causing one or more processors to:

detect a measure of experience for a client device in accessing a server via a first device being below a threshold;

identify, responsive to the detection, a plurality of devices available for the client device to access the server;

determine a distance between each of the plurality of devices and at least one of the client device or the server, responsive to identifying a latency between the first device and one of the client device or the server as below the threshold; and

select a second device from the plurality of devices via which the client device is to access the server based at least on the distance between the second device and at least one of the client device or the server.

17. The non-transitory computer readable medium of claim 16 , wherein the program instructions further cause the one or more processors to identify at least one of a latency between the first device and the server or a latency between the client device and the first device, as below the threshold.

18. The non-transitory computer readable medium of claim 16 , wherein the program instructions further cause the one or more processors to provide information on the measure of experience for the client device in accessing the server via the first device and the distance between each of the plurality of devices and at least one of the client device or the server.

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 Sep 30, 2021
From: SINHA, ISHITA
To: CITRIX SYSTEMS, INC.
Reel/Frame 057657/0706 →
Continuity (1)
Related Publication 20230119230A1 · Apr 20, 2023