IP Library Granted Patent US 11,463,510
Granted Patent B2
US 11,463,510 · App. 17/283,454 · Granted Oct 4, 2022

Software defined wide area network uplink selection for a cloud service

Inventors: Vamsi Kodavanty (Santa Clara, CA); Rajesh Mirukula (Santa Clara, CA); Manigandan Ganesan (Santa Clara, CA)
Assignee: Hewlett Packard Enterprise Development LP
H04L67/1004
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,463,510
App. No.
17/283,454
Granted
Oct 4, 2022
Kind
B2
Abstract

Software defined wide area network uplink selection for a cloud service can include a network controller to periodically update a list of cloud servers that provide a cloud service. The network controller can select a preferred cloud server from the updated list of cloud servers. Upon receiving a client device request to use the cloud service, the network controller can send identifying information of the selected preferred cloud server to the client device.

Claims (70)

1. A system, comprising:

a client device to initiate a name query for a cloud service; and

a network controller connected to the client device, comprising processing circuitry and memory including instructions that, when executed by the processing circuitry, cause the processing circuitry to:

transmit a plurality of name queries, according to a name server list for cloud service handling, to identify a plurality of cloud servers that provide the cloud service;

probe each of the plurality of cloud servers based on results of the plurality of name queries;

create a dynamic path selection (DPS) policy for traffic from the client device to the cloud service based on results of the probes; and

intercept the name query from the client device without changing name query settings of the client device.

2. The system of claim 1 , including the network controller to intercept the name query and apply destination network address translation to the name query to send the name query to one of a plurality of name servers according to the name server list; and

including the client device to receive a response of the destination network address translated name query identifying one of the plurality of cloud servers and use the one of the plurality of cloud servers for subsequent traffic for the cloud service.

3. The system of claim 1 , wherein the network controller comprises a branch gateway connected to the Internet via a plurality of uplinks, and

wherein the client device is connected to the network controller via a branch site network; and

including the network controller to select one of the plurality of uplinks for traffic from the client device to the cloud service according to the DPS policy.

4. The system of claim 3 , wherein each of the plurality of uplinks are connected to the Internet via more than one Internet service provider.

5. The system of claim 3 , further including a virtual private network concentrator (VPNC) connected to a core site network and to the Internet;

wherein a plurality of name servers, referenced in the name server list, are preconfigured to point to the VPNC for traffic from the client device to the core site network.

6. The system of claim 1 , including the network controller to provide a deep packet inspection (DPI) identifier to the cloud service for reference by firewall, route, and DPS policies of a software defined wide area network.

7. The system of claim 1 , including the network controller to:

store the name server list including a correspondence between each of a plurality of name servers and a respective next hop from the network controller to each of the plurality of name servers;

store a cloud server list including a correspondence between each of the plurality of cloud servers and each of the plurality of name servers according to results of the plurality of name queries; and

probe each of the plurality of cloud servers according to the name server list and the cloud server list.

8. The system of claim 7 , including the network controller further to:

send a respective plurality of name queries, based on the name server list for cloud service handling, to identify a respective plurality of cloud servers that provide each of a plurality of cloud services;

probe each of the respective pluralities of cloud servers based on results of the respective pluralities of name queries; and

store a DPS list as the DPS policy including, for each of the plurality of cloud services, a corresponding preferred cloud server based on results of the probes.

9. A method comprising:

transmitting, by a network controller connected to a client device, a plurality of name queries, according to a name server list for cloud service handling, to identify a plurality of cloud servers that provide the cloud service;

probing each of the plurality of cloud servers based on results of the plurality of name queries;

creating a dynamic path selection (DPS) policy for traffic from the client device to the cloud service based on results of the probes; and

intercepting the name query from the client device without changing name query settings of the client device.

10. The method of claim 9 , further comprising:

intercepting, by the network controller, the name query and apply destination network address translation to the name query to send the name query to one of a plurality of name servers according to the name server list; and

receiving, by the client device, a response of the destination network address translated name query identifying one of the plurality of cloud servers and use the one of the plurality of cloud servers for subsequent traffic for the cloud service.

11. The method of claim 9 , wherein the network controller comprises a branch gateway connected to the Internet via a plurality of uplinks, wherein the client device is connected to the network controller via a branch site network, and wherein the method further comprises:

selecting, by the network controller, one of the plurality of uplinks for traffic from the client device to the cloud service according to the DPS policy.

12. The method of claim 11 , wherein each of the plurality of uplinks are connected to the Internet via more than one Internet service provider.

13. The method of claim 11 , further comprising:

preconfiguring a plurality of name servers, referenced in the name server list, to point to a virtual private network concentrator (VPNC) connected to a core site network and to the Internet, wherein the VPNC is for traffic from the client device to the core site network.

14. The method of claim 9 , further comprising:

providing, by the network controller, a deep packet inspection (DPI) identifier to the cloud service for reference by firewall, route, and DPS policies of a software defined wide area network.

15. The method of claim 9 , further comprising:

storing the name server list including a correspondence between each of a plurality of name servers and a respective next hop from the network controller to each of the plurality of name servers;

storing a cloud server list including a correspondence between each of the plurality of cloud servers and each of the plurality of name servers according to results of the plurality of name queries; and

probing each of the plurality of cloud servers according to the name server list and the cloud server list.

16. The method of claim 15 , further comprising:

sending a respective plurality of name queries, based on the name server list for cloud service handling, to identify a respective plurality of cloud servers that provide each of a plurality of cloud services;

probing each of the respective pluralities of cloud servers based on results of the respective pluralities of name queries; and

storing a DPS list as the DPS policy including, for each of the plurality of cloud services, a corresponding preferred cloud server based on results of the probes.

17. A non-transitory computer-readable storage medium storing a plurality of instructions executable by one or more processors, the plurality of instructions when executed by the one or more processors cause the one or more processors to:

transmit, by a network controller connected to a client device, a plurality of name queries, according to a name server list for cloud service handling, to identify a plurality of cloud servers that provide the cloud service;

probe each of the plurality of cloud servers based on results of the plurality of name queries;

create a dynamic path selection (DPS) policy for traffic from the client device to the cloud service based on results of the probes; and

intercept the name query from the client device without changing name query settings of the client device.

18. The non-transitory computer-readable storage medium of claim 17 , the one or more processors further to:

intercept the name query and apply destination network address translation to the name query to send the name query to one of a plurality of name servers according to the name server list; and

receive a response of the destination network address translated name query identifying one of the plurality of cloud servers and use the one of the plurality of cloud servers for subsequent traffic for the cloud service.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the network controller comprises a branch gateway connected to the Internet via a plurality of uplinks, and wherein the client device is connected to the network controller via a branch site network, and the one or more processors further to:

select one of the plurality of uplinks for traffic from the client device to the cloud service according to the DPS policy.

20. The non-transitory computer-readable storage medium of claim 19 , wherein each of the plurality of uplinks are connected to the Internet via more than one Internet service provider.

21. The non-transitory computer-readable storage medium of claim 19 , wherein the one or more processors further to:

preconfigure a plurality of name servers, referenced in the name server list, to point to a virtual private network concentrator (VPNC) connected to a core site network and to the Internet, wherein the VPNC is for traffic from the client device to the core site network.

22. The non-transitory computer-readable storage medium of claim 17 , wherein the one or more processors further to:

provide a deep packet inspection (DPI) identifier to the cloud service for reference by firewall, route, and DPS policies of a software defined wide area network.

23. The non-transitory computer-readable storage medium of claim 17 , wherein the one or more processors further to:

store the name server list including a correspondence between each of a plurality of name servers and a respective next hop from the network controller to each of the plurality of name servers;

store a cloud server list including a correspondence between each of the plurality of cloud servers and each of the plurality of name servers according to results of the plurality of name queries; and

probe each of the plurality of cloud servers according to the name server list and the cloud server list.

24. The non-transitory computer-readable storage medium of claim 23 , wherein the one or more processors further to:

send a respective plurality of name queries, based on the name server list for cloud service handling, to identify a respective plurality of cloud servers that provide each of a plurality of cloud services;

probe each of the respective pluralities of cloud servers based on results of the respective pluralities of name queries; and

store a DPS list as the DPS policy including, for each of the plurality of cloud services, a corresponding preferred cloud server based on results of the probes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2021
From: KODAVANTY, VAMSI; MIRUKULA, RAJESH; GANESAN, MANIGANDAN
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 055919/0846 →
Continuity (1)
Related Publication 20210352138A1 · Nov 11, 2021
Cited By (2)
US 12,261,901 US 12,413,525