IP Library › Granted Patent US 11,863,426
Granted Patent B2
US 11,863,426 · App. 17/679,366 · Granted Jan 2, 2024

Determining a best destination over a best path using multifactor path selection

Inventors: Sai Prashanth Ramanathan (Bangalore, IN); Antony Ruban Alexis (Bangalore, IN); Abdul Kadhar Jeelany Habeeb Mohamed (Chennai, IN); Hemachandran Karnam Mohan (Chittoor, IN)
Assignee: Juniper Networks, Inc.
H04L45/14H04L45/745
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,863,426
App. No.
17/679,366
Granted
Jan 2, 2024
Kind
B2
Abstract

A network device may receive a request for a service from an endpoint device located in a first region, and may determine whether destination addresses are identified for the service and the first region. The network device may determine whether the service and the first region are identified in a lookup table, and may receive performance metrics associated with multiple paths in the first region to the destination addresses, based on the service and the first region not being identified in the lookup table. The network device may generate a performance metrics matrix based on the performance metrics, and may identify a best destination and a best path for the service in the first region based on the performance metrics matrix, and may cause, for the endpoint device, a connection to the service to be established via the best destination and the best path for the first region.

Claims (94)

1. A method, comprising:

receiving, by a network device, a request for a service from an endpoint device located in a first region;

determining, by the network device, whether destination addresses are identified for the service and the first region;

receiving, by the network device, the destination addresses associated with the service and the first region from a domain name system (DNS) server device when the destination addresses are not identified;

determining, by the network device, whether the service and the first region are identified in a multifactor path selection (MFPS) lookup table, based on the destination addresses being identified for the service and the first region;

receiving, by the network device, performance metrics associated with multiple paths in the first region to the destination addresses, based on the service and the first region not being identified in the MFPS lookup table,

generating, by the network device, a performance metrics matrix based on the performance metrics;

identifying, by the network device, a best destination and a best path, and a next best destination and a next best path, for the service in the first region based on the performance metrics matrix,

wherein identifying the best destination and the best path comprises:

ranking availabilities in the performance metrics matrix to determine highest availabilities of available paths and available destinations, and

determining that a particular path in the first region to a particular destination is the best path and the best destination based on the highest availabilities;

providing, by the network device, data identifying the best destination, the best path, the next best destination, and the next best path, for the first region, in the MFPS lookup table; and

causing, by the network device and for the endpoint device, a connection to the service to be established via the best destination and the best path for the first region.

2. The method of claim 1 , further comprising:

requesting, from the DNS server device, the destination addresses based on the destination addresses not being identified for the service or the first region.

3. The method of claim 1 , wherein receiving the performance metrics associated with the multiple paths in the first region to the destination addresses comprises:

requesting the performance metrics from one or more of a plurality of server devices; and

receiving the performance metrics from the one or more of the plurality of server devices based on requesting the performance metrics.

4. The method of claim 1 , further comprising:

receiving updated performance metrics associated with the multiple paths in the first region after a predetermined time period.

5. The method of claim 1 , further comprising:

receiving another request for the service from another endpoint device located in the first region;

identifying the best destination and the best path for the service in the first region from the MFPS lookup table; and

causing, for the other endpoint device, another connection to the service to be established via the best destination and the best path for the first region.

6. The method of claim 5 , wherein identifying the best destination and the best path for the service in the first region from the MFPS lookup table comprises:

determining whether the service and the first region are identified in the MFPS lookup table; and

identifying the best destination and the best path for the service in the first region from the MFPS lookup table, based on the service and the first region being identified in the MFPS lookup table.

7. The method of claim 1 , wherein the network device is a web gateway.

8. A network device, comprising:

one or more memories; and

one or more processors to:

receive a request for a service from an endpoint device located in a first region;

determine whether destination addresses are identified for the service and the first region;

receive the destination addresses associated with the service and the first region from a domain name system (DNS) server device when the destination addresses are not identified;

determine whether the service and the first region are identified in a multifactor path selection (MFPS) lookup table, based on the destination addresses being identified for the service and the first region;

receive performance metrics associated with multiple paths in the first region to the destination addresses, based on the service and the first region not being identified in the MFPS lookup table;

generate a performance metrics matrix based on the performance metrics;

identify a best destination and a best path, and a next best destination and a next best path, for the service in the first region based on the performance metrics matrix,

wherein the one or more processors, to identify the best destination and the best path, are to:

rank availabilities in the performance metrics matrix to determine highest availabilities of available paths and available destinations, and

determine that a particular path in the first region to a particular destination is the best path and the best destination based on the highest availabilities; and

provide data identifying the best destination, the best path, the next best destination, and the next best path, for the first region, in the MFPS lookup table.

9. The network device of claim 8 , wherein the one or more processors are further to:

receive another request for the service from another endpoint device located in a second region that is separate from the first region;

receive additional performance metrics associated with multiple paths in the second region to the destination addresses based on the second region not being identified in the MFPS lookup table;

modify the performance metrics matrix based on the additional performance metrics to generate a modified performance metrics matrix;

identify a best destination and a best path, and a next best destination and a next best path, for the service in the second region, based on the modified performance metrics matrix; and

provide data identifying the best destination, the best path, the next best destination, and the next best path, for the second region, in the MFPS lookup table.

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

cause, for the other endpoint device, another connection to the service to be established via the best destination and the best path for the second region.

11. The network device of claim 9 , wherein the one or more processors, to receive the additional performance metrics associated with the multiple paths in the second region to the destination addresses, are to:

determine whether the service and the second region are identified in the MFPS lookup table; and

receive the additional performance metrics associated with the multiple paths in the second region to the destination addresses, based on the second region not being identified in the MFPS lookup table.

12. The network device of claim 9 , wherein the one or more processors are further to:

determine that the best destination or the best path for the second region is unavailable; and

cause, for the other endpoint device, the other connection to the service to be established via the next best destination and the next best path for the second region based on determining that the best destination or the best path for the second region is unavailable.

13. The network device of claim 9 , wherein the one or more processors are further to:

receive updated additional performance metrics associated with the multiple paths in the first region after a predetermined time period.

14. The network device of claim 8 , wherein the one or more processors are further to:

determine that the best destination or the best path for the first region is unavailable; and

cause, for the endpoint device, a connection to the service to be established via the next best destination and the next best path for the first region based on determining that the best destination or the best path for the first region is unavailable.

15. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:

one or more instructions that, when executed by one or more processors of a network device, cause the network device to:

receive a request for a service from an endpoint device located in a first region;

determine whether destination addresses are identified for the service and the first region;

receive the destination addresses associated with the service and the first region from a domain name system (DNS) server device when the destination addresses are not identified;

determine whether the service and the first region are identified in a multifactor path selection (MFPS) lookup table, based on the destination addresses being identified for the service and the first region;

receive performance metrics associated with multiple paths in the first region to the destination addresses, based on the service and the first region not being identified in the MFPS lookup table;

generate a performance metrics matrix based on the performance metrics;

identify a best destination and a best path, and a next best destination and a next best path, for the service in the first region based on the performance metrics matrix,

wherein the one or more instructions, that cause the network device to identify the best destination and the best path for the service, cause the network device to:

rank availabilities in the performance metrics matrix to determine highest availabilities of available paths and available destinations, and

determine that a particular path in the first region to a particular destination is the best path and the best destination based on the highest availabilities;

provide data identifying the best destination, the best path, the next best destination, and the next best path, for the first region, in the MFPS lookup table;

determine that the best destination or the best path for the first region is unavailable; and

cause, for the endpoint device, a connection to the service to be established via the next best destination and the next best path for the first region based on determining that the best destination or the best path for the first region is unavailable.

16. The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the network device to:

request, from the DNS server device, the destination addresses based on the destination addresses not being identified for the service or the first region.

17. The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the network device to:

receive updated performance metrics associated with the multiple paths in the first region after a predetermined time period.

18. The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the network device to:

receive another request for the service from another endpoint device located in the first region;

identify the best destination and the best path for the service in the first region from the MFPS lookup table; and

cause, for the other endpoint device, another connection to the service to be established via the best destination and the best path for the first region.

19. The non-transitory computer-readable medium of claim 18 , wherein the one or more instructions, that cause the network device to identify the best destination and the best path for the service in the first region from the MFPS lookup table, cause the network device to:

determine whether the service and the first region are identified in the MFPS lookup table; and

identify the best destination and the best path for the service in the first region from the MFPS lookup table, based on the service and the first region being identified in the MFPS lookup table.

20. The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the network device to:

receive another request for the service from another endpoint device located in a second region that is separate from the first region;

receive additional performance metrics associated with multiple paths in the second region to the destination addresses based on the second region not being identified in the MFPS lookup table;

modify the performance metrics matrix based on the additional performance metrics to generate a modified performance metrics matrix;

identify a best destination and a best path, and a next best destination and a next best path, for the service in the second region, based on the modified performance metrics matrix;

provide data identifying the best destination, the best path, the next best destination, and the next best path, for the second region, in the MFPS lookup table; and

cause, for the other endpoint device, another connection to the service to be established via the best destination and the best path for the second region.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2024
From: RAMANATHAN, SAI PRASHANTH; ALEXIS, ANTONY RUBAN; MOHAMED, ABDUL KADHAR JEELANY HABEEB; MOHAN, HEMACHANDRAN KARNAM
To: JUNIPER NETWORKS, INC.
Reel/Frame 066834/0938 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2022
From: RAMANATHAN, SAI PRASHANTH; ALEXIS, ANTONY RUBAN; MOHAMED, ABDUL KADHAR JEELANY HABEEB; MOHAN, HEMACHANDRAN KARNAM
To: JUNIPER NETWORKS, INC.
Reel/Frame 059089/0196 →
Continuity (1)
Related Publication 20230269172A1 · Aug 24, 2023