IP Library › Granted Patent US 9,843,484
Granted Patent B2
US 9,843,484 · App. 14/326,325 · Granted Dec 12, 2017

Graceful scaling in software driven networks

Inventors: Swaminathan Sankar (San Jose, CA); Rahul Gupta (Fremont, CA); Gurudeep Kamat (San Jose, CA); Rajkumar Jalan (Saratoga, CA)
Assignee: A10 NETWORKS, INC.
H04L41/12H04L67/1031
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 9,843,484
App. No.
14/326,325
Granted
Dec 12, 2017
Kind
B2
Abstract

Provided are methods and systems for graceful scaling of data networks. In one example, an indication of removal of a node from a plurality of nodes of the data network is received. A service policy is generated to reassign service requests associated with the node to another node in the plurality of nodes. The service policy is then sent to each of the plurality of nodes of the data network. To scale out a data network, an indication of presence of a further node in the data network is received, and a further node service policy is generated and sent to each of the plurality of nodes of the data network and to the further node. Additional actions can be taken in order to prevent interruption of an existing heavy-duty connection while scaling the data network.

Claims (80)

1. A computer-implemented method for graceful scaling of a data network by a cluster master, the method comprising:

receiving an indication of a removal of a first node from a plurality of nodes of the data network;

generating a service policy, the service policy being operable to reassign service requests associated with the first node to a second node selected from the plurality of nodes of the data network, wherein the reassigning the service requests associated with the first node includes redirecting all of the service requests associated with the first node to the second node, receiving an indication of presence of old connections, the old connections being associated with the first node, creating a redirection node in the data network, generating a redirection policy, the redirection policy indicating that service requests associated with the old connections are to be sent from the second node to the first node via the redirection node, and sending the redirection policy to the redirection node and the second node, and after sending the service policy to each of the plurality of nodes of the data network, waiting for an indication of finishing the old connections and upon receiving the indication of finishing the old connections, removing the redirection policy from the second node, and removing the redirection node from the data network;

sending the service policy to one or more of the plurality of nodes of the data network; and

removing the first node from the data network upon completion of connections associated with the service requests associated with the first node.

2. The method of claim 1 , wherein the plurality of nodes of the data network include at least one virtual machine and at least one physical device.

3. The method of claim 1 , wherein the plurality of nodes include a plurality of cluster devices, the cluster master, a traffic classification engine, service nodes, and an orchestrator.

4. The method of claim 3 , wherein the traffic classification engine distributes service requests processed by the data network to a service node in accordance with the service policy generated by the cluster master.

5. The method of claim 1 , wherein the indication of removal of the first node is generated based on one or more of the following: first node health, a first node service policy, analysis of a first node data, and absence of the first node data.

6. The method of claim 5 , wherein the first node data includes a number of total connections, destination server address, destination server capacity, and destination server network connectivity.

7. The method of claim 1 , wherein the service policy includes a traffic map table, wherein classes of the service requests are assigned to nodes in the plurality of nodes of the data network.

8. The method of claim 7 , wherein the classes of the service requests are obtained by classification of the service request based on one of the following: a source address of the service request and a destination address of the service request.

9. The method of claim 1 , further comprising:

receiving an indication of presence of a further node in the data network;

generating a further node service policy, the further node service policy reassigning one or more of the service requests associated with any of the plurality of nodes of the data network to the further node; and

sending the further node service policy to each of the plurality of nodes of the data network and to the further node.

10. The method of claim 9 , further comprising;

before sending the further node service policy to each of the plurality of nodes of the data network:

receiving an indication of presence of old connections, the old

connections being associated with an old node from the plurality of nodes of the data network;

creating a redirection node in the data network;

generating a redirection policy, the redirection policy indicating that

service requests associated with the old connections be sent from the further node via the redirection node to the old node; and

sending the redirection policy to the redirection node and the further

node; and

after sending the further node service policy to each of the plurality of nodes of the data network and to the further node:

waiting for an indication of finishing the old connections and upon receiving the indication of finishing the old connections:

removing the redirection policy from the further node; and removing

the redirection node from the data network.

11. A system for graceful scaling a data network, the system comprising:

a plurality of nodes; and

a cluster master including at least one node of the plurality of nodes, the cluster master operable to:

receive an indication of removing a first node from the plurality of nodes of the data network;

generate a service policy, the service policy reassigning any service requests associated with the first node to a second node from the plurality of nodes of the data network, wherein the reassigning the service requests associated with the first node includes redirecting all of the service requests associated with the first node to the second node, receiving an indication of presence of old connections, the old connections being associated with the first node, creating a redirection node in the data network, generating a redirection policy, the redirection policy indicating that service requests associated with the old connections are to be sent from the second node to the first node via the redirection node, and sending the redirection policy to the redirection node and the second node, and after sending the service policy to each of the plurality of nodes of the data network, waiting for an indication of finishing the old connections and upon receiving the indication of finishing the old connections, removing the redirection policy from the second node, and removing the redirection node from the data network;

send the service policy to one or more of the plurality of nodes of the data network; and

remove the first node from the data network upon completion of

connections associated with the service requests associated with the first node.

12. The system of claim 11 , wherein the plurality of

nodes of the data network include a virtual machine and a physical device.

13. The system of claim 11 , wherein the plurality of nodes includes a plurality of cluster devices, a traffic classification engine, service nodes, and an orchestrator.

14. The system of claim 11 , wherein the indication of removing of the first node is generated based on one or more of the following: a first node health, a first node service policy, an analysis of the first node data, and an absence of the first node data.

15. The system of claim 14 , wherein the first node data includes a number of total connections, destination server address, destination server capacity, and destination server network connectivity.

16. The system of claim 11 , wherein the service policy is a traffic map table, wherein classes of the services requests are assigned to nodes in the plurality of nodes of the data network.

17. The system of claim 16 , wherein the classes of the service requests are obtained by classification of the service requests based on one of the following: a source address of the service request and a destination address of the service request.

18. The system of claim 11 , wherein the cluster master is further operable to:

receive an indication of presence of a further node in the data network;

generate a further node service policy, the further node service policy reassigning one or more of the service requests associated with any of the plurality of nodes of the data network to the further node; and

send the further node service policy to each of the plurality of nodes of the data network and to the further node.

19. The system of claim 18 , wherein:

before sending the further node service policy to each of the plurality of nodes of the data network, the cluster master is further operable to:

receive an indication of presence of old connections, the old connections being associated with an old node from the plurality of nodes of the data

network;

generate an instruction to create a redirection node in the data network;

generate a redirection policy, the redirection policy indicating that service requests associated with the old connections be sent from the further node via the redirection node to the old node; and

send the redirection policy to the redirection node and the further node;

and after sending the further node service policy to each of the plurality of nodes of the data network and to the further node, the cluster master is further operable to:

wait for an indication of finishing the old connections and upon receiving the indication of finishing the old connections:

remove the redirection policy from the further node; and

generate an instruction to remove the redirection node from the data

network.

20. A non-transitory computer-readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for graceful scaling of a data network by a cluster master, the method comprising:

receiving an indication of removing a first node from a plurality of nodes of the data network;

generating a service policy, the service policy reassigning any service requests associated with the first node to a second node from the plurality of nodes of the data network, wherein the reassigning the service requests associated with the first node includes redirecting all of the service requests associated with the first node to the second node, receiving an indication of presence of old connections, the old connections being associated with the first node, creating a redirection node in the data network, generating a redirection policy, the redirection policy indicating that service requests associated with the old connections are to be sent from the second node to the first node via the redirection node, and sending the redirection policy to the redirection node and the second node, and after sending the service policy to each of the plurality of nodes of the data network, waiting for an indication of finishing the old connections and upon receiving the indication of finishing the old connections, removing the redirection policy from the second node, and removing the redirection node from the data network;

sending the service policy to one or more of the plurality of nodes of the data network; and

removing the first node from the data network upon completion of connections associated with the service requests associated with the first node.

21. The non-transitory computer-readable storage medium of claim 20 , wherein the method for graceful scaling the data network further comprises:

receiving an indication of presence of a further node in the data network;

generating a further node service policy, the further node service policy reassigning one or more of the service requests associated with any of the plurality of nodes of the data network to the further node; and

sending the further node service policy to each of the plurality of nodes of the data network and to the further node.

22. The non-transitory computer-readable storage medium of claim 21 , wherein the method for graceful scaling the data network further comprises:

before sending the further node service policy to each of the plurality of nodes of the data network:

receiving an indication of presence of old connections, the old connections being associated with an old node from the plurality of nodes of the data network;

creating a redirection node in the data network;

generating a redirection policy, the redirection policy indicating that service requests associated with the old connections be sent from the further node via the redirection node to the old node; and

sending the redirection policy to the redirection node and the further

node; and

after sending the further node service policy to each of the plurality of nodes of the data network and to the further node:

waiting for an indication of finishing the old connections and upon receiving the indication of finishing the old connections:

removing the redirection policy from the further node; and

removing the redirection node from the data network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2014
From: SANKAR, SWAMINATHAN; GUPTA, RAHUL; KAMAT, GURUDEEP; JALAN, RAJKUMAR
To: A10 NETWORKS, INC.
Reel/Frame 033485/0360 →
Continuity (3)
Continuation In Part 14029656 · Sep 17, 2013
Provisional Application 61705618 · Sep 25, 2012
Related Publication 20160043901A1 · Feb 11, 2016