IP Library Granted Patent US 11,582,325
Granted Patent B2
US 11,582,325 · App. 17/372,061 · Granted Feb 14, 2023

Systems and methods for routing remote application data

Inventors: Paraskevas Zafiris (Patras, GR); Ioannis Beredimas (Patras, GR); Konstantinos Papanikitas (Patras, GR)
H04L67/60G06F9/547G06F16/953H04L61/4511H04L61/5007H04L67/10
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,582,325
App. No.
17/372,061
Granted
Feb 14, 2023
Kind
B2
Abstract

Described embodiments provide for routing remote application data. A device can receive a request to access an application. The application can be provided by data centers and accessible via service providers. The device can select a data center from the plurality of data centers and a service provider based at least on a metric indicative of a connection between the data center and the service provider. The device can query a database including one or more connection metrics using the application identified in the request and a location of a router transmitting the request. The device can determine the location of the router based on an internet protocol (IP) address of a client communicably coupled to the router. The device can transmit a response to the request identifying the selected data center and the selected service provider.

Claims (42)

1. A method comprising:

receiving, by a device, a request to access an application, the application being provided by at least one of a plurality of data centers and accessible via at least one of a plurality of internet service providers;

selecting, by the device, a data center from the plurality of data centers based at least on one or more metrics indicative of a connection between the data center and an internet service provider;

selecting, by the device, the internet service provider from the plurality of internet service providers based at least on the one or more metrics indicative of the connection between the data center and the internet service provider; and

transmitting, by the device, a response to the request identifying the selected data center and the selected internet service provider.

2. The method of claim 1 , wherein selecting the data center and the internet service provider comprises querying, by the device, a database including one or more metrics indicative of one or more connections using the application identified in the request and a location of a router transmitting the request.

3. The method of claim 2 , wherein the location of the router is determined based on an internet protocol (IP) address of a client communicably coupled to the router.

4. The method of claim 1 , wherein the metric comprises an availability of the plurality of internet service providers, latency of data accessed via a respective internet service provider from a respective data center, or data throughput via the respective internet service provider and the respective data center.

5. The method of claim 1 , wherein the response comprises a table including one or more metrics indicative of one or more connections for the plurality of internet service providers in relation to the plurality of data centers.

6. The method of claim 1 , further comprising generating, by the device, instructions to cause a router to use the selected internet service provider to access the selected data center included in the response to access the application.

7. The method of claim 6 , further comprising transmitting, by the device, the instructions to the router to cause the router to select the internet service provider of the plurality of internet service providers and the data center of the plurality of data centers.

8. The method of claim 1 , further comprising:

transmitting, by the device to the application, a notification identifying an application domain name system (DNS) and target IP addresses to use for probing the application; and

transmitting, by the device to a router, instructions to cause the router to automatically detect network problems between each of the plurality of internet service providers and each of the plurality of data centers.

9. The method of claim 1 , further comprising:

providing, by the device, a content item to the application for acquiring one or more metrics indicative of one or more connections responsive to the content item accessed via a plurality of routers; and

receiving, by the device, from the plurality of routers, data responsive to the content item being accessed via the respective routers,

wherein the one or more metrics are aggregated from the received data of the plurality of routers.

10. A device comprising:

one or more processors configured to:

receive a request to access an application, the application being provided by at least one of a plurality of data centers and accessible via at least one of a plurality of internet service providers;

select a data center from the plurality of data centers based at least on one or more metrics indicative of a connection between the data center and an internet service provider;

select the internet service provider from the plurality of internet service provides based on the one or more metrics indicative of the connection between the data center and the internet service provider; and

transmit a response to the request identifying the selected data center and the selected internet service provider.

11. The device of claim 10 , wherein selecting the data center and the internet service provider comprises querying a database including one or more metrics indicative of one or more connections using the application identified in the request and a location of a router transmitting the request.

12. The device of claim 11 , wherein the location of the router is determined based on an internet protocol (IP) address of a client communicably coupled to the router.

13. The device of claim 10 , wherein the metric comprises an availability of the plurality of internet service providers, latency of data accessed via a respective internet service provider from a respective data center, or data throughput via the respective internet service provider and the respective data center.

14. The device of claim 10 , wherein the response comprises a table including one or more metrics indicative of one or more connections for the plurality of internet service providers in relation to the plurality of data centers.

15. The device of claim 10 , wherein the one or more processors are further configured to generate instructions to cause a router to use the selected internet service provider to access the selected data center included in the response to access the application.

16. The device of claim 15 , wherein the one or more processors are further configured to transmit the instructions to the router to cause the router to select the internet service provider of the plurality of internet service providers and the data center of the plurality of data centers.

17. The device of claim 10 , wherein the one or more processors are further configured to:

transmit, to the application, a notification identifying an application domain name system (DNS) and target IP addresses to use for probing the application; and

transmit, to a router, instructions to cause the router to automatically detect network problems between each of the plurality of internet service providers and each of the plurality of data centers.

18. The device of claim 10 , wherein the one or more processors are further configured to:

provide a content item to the application for acquiring one or more metrics indicative of one or more connections responsive to the content item accessed via a plurality of routers; and

receive, from the plurality of routers, data responsive to the content item being accessed via the respective routers,

wherein the one or more metrics are aggregated from the received data of the plurality of routers.

19. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

receive a request to access an application, the application being provided by at least one of a plurality of data centers and accessible via at least one of a plurality of internet service providers;

select a data center from the plurality of data centers based at least on one or more metrics indicative of a connection between the data center and an internet service provider;

select the internet service provider from the plurality of internet service provides based on the one or more metrics indicative of the connection between the data center and the internet service provider; and

transmit a response to the request identifying the selected data center and the selected internet service provider.

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 Jul 9, 2021
From: ZAFIRIS, PARASKEVAS; BEREDIMAS, IOANNIS; PAPANIKITAS, KONSTANTINOS
To: CITRIX SYSTEMS, INC.
Reel/Frame 056807/0677 →
Continuity (2)
Continuation PCTGR2021000037 · Jun 15, 2021
Related Publication 20220400161A1 · Dec 15, 2022