IP Library › Granted Patent US 10,728,206
Granted Patent B2
US 10,728,206 · App. 15/466,151 · Granted Jul 28, 2020

Method for DNS response reordering based on path quality and connection priority for better QOS

Inventor: Praveen Raja Dhanabalan (Bangalore, IN)
Assignee: Citrix Systems, Inc.
H04L61/1511H04L61/1552H04L61/2007H04L67/101H04L67/1002H04L43/08
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,728,206
App. No.
15/466,151
Filed
Mar 22, 2017
Granted
Jul 28, 2020
Kind
B2
Examiner
KIM, CHONG G
Art Unit
2457
USPC
709/220
Abstract

Described embodiments provide systems and method for reordering the IP addresses within a DNS response. The servers associated with a domain can often be located across multiple locations. The paths from a client to each of those different servers can have different link qualities. Additionally, the connection between the client and the domain can have different quality requirements. The present solution can consider the link qualities and the connection quality requirements to reorder the IP addresses within a DNS response. By reordering the IP addresses, the system can control to which of the servers the client connects and can ensure that the connection is made over a path that can fulfill the connection's quality requirements.

Claims (36)

1. A method for domain name system (DNS) response reordering comprising:

receiving, by a device, a domain name system (DNS) response to a DNS request of a client, the DNS response comprising a list of IP addresses corresponding to a plurality of sites associated with a domain to which the client is attempting to establish the connection;

assigning, by the device via a priority policy, based on the domain or a classification of the connection to be established, a priority to the connection to be established between the client and the domain;

determining, by the device, for each link of a plurality of links between the device and the plurality of sites, a link quality of the link between the device and a respective site, the link corresponding to a respective IP address of the list of IP addresses;

modifying, by a DNS response reorderer, based on the link quality of at least one link of the plurality of links and the priority assigned to the connection to be established between the client and the domain, an order of the list of IP addresses; and

transmitting, by the device, the modified order of the list of IP addresses to the client.

2. The method of claim 1 , further comprising:

identifying, by the device, the domain of the DNS request; and

wherein identifying, by the device, the priority of the connection includes identifying the priority of the connection based on the identified domain of the DNS request.

3. The method of claim 1 , wherein determining for each link of a plurality of links between the device and the plurality of sites, the link quality of the link between the device and a respective site includes determining at least one of a metric corresponding to utilization of the link, a metric corresponding to latency of the link, a metric corresponding to a jitter of the link or a metric corresponding to packets dropped by the link.

4. The method of claim 1 , wherein the link quality of the link is based on at least one of a metric corresponding to utilization of the link, a metric corresponding to latency of the link, a metric corresponding to a jitter of the link or a metric corresponding to packets dropped by the link.

5. The method of claim 1 , further comprising identifying, from the list of IP addresses corresponding to the plurality of sites, the plurality of links between the device and the plurality of sites.

6. The method of claim 1 , further comprising identifying the plurality of sites corresponding to the IP addresses included in the list of IP addresses responsive to performing a lookup using the IP addresses.

7. The method of claim 1 , wherein modifying the order of the list of IP addresses includes replacing, at a first position of the list of IP addresses, a first IP address with a second IP address having a higher link quality responsive to determining that the priority of the connection is above a threshold.

8. The method of claim 1 , wherein modifying the order of the list of IP addresses includes replacing, at a first position of the list of IP addresses, a first IP address with a second IP address having a lower link quality responsive to determining that the priority of the connection is below a threshold.

9. The method of claim 1 , wherein receiving the DNS response to the DNS request includes intercepting, by the device, the DNS response from a DNS server to the client.

10. A system for domain name system (DNS) response reordering comprising:

a device intermediary to a plurality of clients and one or more domain name system (DNS) servers, the device including:

a DNS response parser configured to:

receive a DNS response to a DNS request of a client, the DNS response comprising a list of IP addresses corresponding to a plurality of sites associated with a domain to which the client is attempting to establish the connection, and

assign via a priority policy, based on the domain or a classification of the connection to be established, a priority to the connection to be established between the client and the domain;

a link quality estimator configured to:

determine, for each link of a plurality of links between the device and the plurality of sites, a link quality of the link between the device and a respective site, the link corresponding to a respective IP address of the list of IP addresses;

a DNS response reorderer configured to:

modify, based on the link quality of at least one link of the plurality of links and the priority assigned to the connection to be established between the client and the domain, an order of the list of IP addresses; and

transmit the modified order of the list of IP addresses to the client.

11. The system of claim 10 , wherein the DNS response parser is configured to:

identify the domain of the DNS request; and

wherein to identify the priority of the connection, the DNS response parser is further configured to identify the priority of the connection based on the identified domain of the DNS request.

12. The system of claim 10 , wherein to determine for each link of a plurality of links between the device and the plurality of sites, the link quality of the link between the device and a respective site, the link quality estimator is configured to determine at least one of a metric corresponding to utilization of the link, a metric corresponding to latency of the link, a metric corresponding to a jitter of the link or a metric corresponding to packets dropped by the link.

13. The system of claim 10 , wherein the link quality of the link is based on at least one of a metric corresponding to utilization of the link, a metric corresponding to latency of the link, a metric corresponding to a jitter of the link or a metric corresponding to packets dropped by the link.

14. The system of claim 10 , wherein the DNS request parser is further configured to identify, from the list of IP addresses corresponding to the plurality of sites, the plurality of links between the device and the plurality of sites.

15. The system of claim 10 , wherein the DNS request parser is further configured to identify the plurality of sites corresponding to the IP addresses included in the list of IP addresses responsive to performing a lookup using the IP addresses.

16. The system of claim 10 , wherein to modify the order of the list of IP addresses, the DNS response reorderer is configured to replace, at a first position of the list of IP addresses, a first IP address with a second IP address having a higher link quality responsive to determining that the priority of the connection is above a threshold.

17. The system of claim 10 , wherein to modify the order of the list of IP addresses, the DNS response reorderer is configured to replace, at a first position of the list of IP addresses, a first IP address with a second IP address having a lower link quality responsive to determining that the priority of the connection is below a threshold.

18. The system of claim 10 , wherein to receive the DNS response to the DNS request, the device is configured to intercept the DNS response from a DNS server to the client.

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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 041684 FRAME: 0639. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 24, 2017
From: DHANABALAN, PRAVEEN RAJA
To: CITRIX SYSTEMS, INC.
Reel/Frame 042084/0530 →
Continuity (1)
Related Publication 20180278570A1 · Sep 27, 2018
Cited By (2)
US 12,192,168 US 12,375,351