IP Library Granted Patent US 9,154,577
Granted Patent B2
US 9,154,577 · App. 13/154,399 · Granted Oct 6, 2015

Sychronization of configuration file of virtual application distribution chassis

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,154,577
App. No.
13/154,399
Granted
Oct 6, 2015
Kind
B2
Abstract

Synchronization of configuration files of a virtual application distribution chassis, includes: processing a configuration command received by a master blade; updating a first configuration file with the configuration command and an updated tag by the master blade; sending a configuration message by the master blade to the slave blades informing of the updated configuration file, the configuration message comprising the updated tag; in response to receiving the configuration message by a given slave blade of the one or more slave blades, comparing the updated tag in the configuration message with a tag in a second configuration file stored at the given slave blade; and in response to determining that the updated tag in the configuration message is more recent than the tag in the second configuration file stored at the given slave blade, sending a request for the updated configuration file to the master blade by the given slave blade.

Claims (89)

1. A method for synchronizing configuration files of a virtual application distribution chassis comprising a plurality of blades, comprising:

processing a configuration command received from an administrative host by a master blade of the plurality of blades of the virtual application distribution chassis;

updating a first configuration file with the received configuration command and an updated tag by the master blade, the updated first configuration file comprising the received configuration command;

sending a configuration message in response to receiving the configuration command by the master blade to one or more slave blades of the plurality of blades informing of the updated configuration file, the configuration message comprising the updated tag;

in response to receiving the configuration message by a given slave blade of the one or more slave blades, comparing the updated tag in the configuration message with a tag in a second configuration file stored at the given slave blade; and

in response to determining that the updated tag in the configuration message is more recent than the tag in the second configuration file stored at the given slave blade, sending a request for an updated configuration file to the master blade by the given slave blade.

2. The method of claim 1 , wherein the processing a configuration command received from an administrative host by a master blade of the plurality of blades of the virtual application distribution chassis comprises:

receiving the configuration command by the master blade of the virtual application distribution chassis;

determining by the master blade that the configuration command is to be applied by a second one or more slave blades of the plurality of blades of the virtual application distribution chassis; and

sending a second configuration message by the master blade to the second one or more slave blades to apply the configuration command.

3. The method of claim 2 , wherein the determining by the master blade that the configuration command is to be applied by a second one or more slave blades of the plurality of blades of the virtual application distribution chassis comprises:

determining by the master blade that the configuration command applies changes to network interfaces of the second one or more slave blades.

4. The method of claim 3 , wherein the configuration command comprises a blade identifier, wherein the determining by the master blade that the configuration command applies changes to network interfaces of the second one or more slave blades comprises:

determining by the master blade that the configuration command applies changes to the network interface of the slave blade associated with the blade identifier.

5. The method of claim 3 , wherein the configuration command comprises a network interface identifier, wherein the determining by the master blade that the configuration command applies changes to network interfaces of the second one or more slave blades comprises:

matching the network interface identifier in the configuration command with a network interface identifier in a storage by the master blade; and

retrieving a blade identifier associated with the matching network interface identifier from the storage by the master blade.

6. The method of claim 1 , wherein the processing a configuration command received from an administrative host by a master blade of the plurality of blades of the virtual application distribution chassis comprises:

receiving the configuration command by the master blade of the virtual application distribution chassis;

determining by the master blade that the configuration command applies changes to a network application implemented by the virtual application distribution chassis;

determining whether the configuration command matches any of a plurality of stored configuration commands applicable to the plurality of blades;

in response to determining that the configuration command matches any of the plurality of stored configuration commands, determining by the master blade that the configuration command is to be applied by at least one slave blade implementing the network application of the plurality of blades; and

sending a second configuration message by the master blade to the at least one slave blade implementing the network application to apply the configuration command.

7. The method of claim 2 , wherein the sending a second configuration message by the master blade to the second one or more slave blades to apply the configuration command comprises:

in response to receiving the second configuration message by a second given slave blade of the second one or more slave blades, applying the configuration command in the second configuration message by the second given slave blade; and

sending a reply configuration message by the second given slave blade to the master blade indicating that the configuration command was applied by the second given slave blade.

8. The method of claim 1 , wherein the sending a configuration message in response to receiving the configuration command by the master blade to one or more slave blades of the plurality of blades informing of the updated configuration file, the configuration message comprising the updated tag comprises:

sending the configuration message comprising the updated tag and the updated configuration file to each of the one or more slave blades by the master blade.

9. The method of claim 1 , wherein for the given slave blade, the sending a request for an updated configuration file to the master blade by the given slave blade comprises:

in response to determining that the updated tag in the configuration message is more recent than the tag in the second configuration file stored at the given slave blade, sending the request for the updated configuration file to the master blade by the given slave blade;

receiving the request for the updated configuration file by the master blade from the given slave blade; and

sending the requested updated configuration file to the given slave blade.

10. The method of claim 9 , wherein the request comprises the updated tag, wherein for the given slave blade, the receiving the request for the updated configuration file by the master blade from the given slave blade and the sending the requested updated configuration file to the given slave blade comprise:

determining a third configuration file comprises a tag more recent than the updated tag by the master blade; and

sending the third configuration file to the given slave blade.

11. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program, wherein the computer readable program when executed on one or more computers causes the computers to:

process a configuration command received from an administrative host by a master blade of a plurality of blades of a virtual application distribution chassis;

update a first configuration file with the received configuration command and an updated tag by the master blade, the updated first configuration file comprising the received configuration command;

send a configuration message in response to receiving the configuration command by the master blade to one or more slave blades of the plurality of blades informing of the updated configuration file, the configuration message comprising the updated tag;

in response to receiving the configuration message by a given slave blade of the one or more slave blades, compare the updated tag in the configuration message with a tag in a second configuration file stored at the given slave blade; and

in response to determining that the updated tag in the configuration message is more recent than the tag in the second configuration file stored at the given slave blade, send a request for an updated configuration file to the master blade by the given slave blade.

12. The computer program product of claim 11 , wherein the process a configuration command received from an administrative host by a master blade of a plurality of blades of a virtual application distribution chassis comprises:

receive the configuration command by the master blade of the virtual application distribution chassis;

determine by the master blade that the configuration command is to be applied by a second one or more slave blades of the plurality of blades of the virtual application distribution chassis; and

send a second configuration message by the master blade to the second one or more slave blades to apply the configuration command.

13. The computer program product of claim 12 , wherein the determine by the master blade that the configuration command is to be applied by a second one or more slave blades of the plurality of blades of the virtual application distribution chassis comprises:

determine by the master blade that the configuration command applies changes to network interfaces of the second one or more slave blades.

14. The computer program product of claim 11 , wherein the process a configuration command received from an administrative host by a master blade of a plurality of blades of a virtual application distribution chassis comprises:

receive the configuration command by the master blade of the virtual application distribution chassis;

determine by the master blade that the configuration command applies changes to a network application implemented by the virtual application distribution chassis;

determine whether the configuration command matches any of a plurality of stored configuration commands applicable to the plurality of blades;

in response to determining that the configuration command matches any of the plurality of stored configuration commands, determine by the master blade that the configuration command is to be applied by at least one slave blade implementing the network application of the plurality of blades; and

send a second configuration message by the master blade to the at least one slave blade implementing the network application to apply the configuration command.

15. The computer program product of claim 12 , wherein the send a second configuration message by the master blade to the second one or more slave blades to apply the configuration command comprises:

in response to receiving the second configuration message by a second given slave blade of the second one or more slave blades, apply the configuration command in the second configuration message by the second given slave blade; and

send a reply configuration message by the second given slave blade to the master blade indicating that the configuration command was applied by the second given slave blade.

16. The computer program product of claim 11 , wherein for the given slave blade, the send a request for an updated configuration file to the master blade by the given slave blade comprises:

in response to determining that the updated tag in the configuration message is more recent than the tag in the second configuration file stored at the given slave blade, send the request for the updated configuration file to the master blade by the given slave blade;

receive the request for the updated configuration file by the master blade from the given slave blade; and

send the requested updated configuration file to the given slave blade.

17. The computer program product of claim 16 , wherein the request comprises the updated tag, wherein for the given slave blade, the receive the request for the updated configuration file by the master blade from the given slave blade and the send the requested updated configuration file to the given slave blade comprise:

determine a third configuration file comprises a tag more recent than the updated tag by the master blade; and

send the third configuration file to the given slave blade.

18. A system, comprising:

a plurality of blades operatively coupled as a virtual application distribution chassis within a data network, wherein each blade comprises a processor and a computer readable storage medium having a computer readable program, the computer readable program when executed by the processor causes the plurality of blades to:

process a configuration command received from an administrative host by a master blade of the plurality of blades of the virtual application distribution chassis;

update a configuration file with the received configuration command and a tag by the master blade, the updated first configuration file comprising the received configuration command;

send a configuration message in response to receiving the configuration command by the master blade to one or more slave blades of the plurality of blades informing of the updated configuration file, the configuration message comprising the updated tag;

in response to receiving the configuration message by a given slave blade of the one or more slave blades, compare the updated tag in the second configuration message with a tag in a second configuration file stored at the given slave blade; and

in response to determining that the updated tag in the configuration message is more recent than the tag in the second configuration file stored at the given slave blade, send a request for an updated configuration file to the master blade by the given slave blade.

19. The system of claim 18 , wherein the process a configuration command received from an administrative host by a master blade of the plurality of blades of the virtual application distribution chassis comprises:

receive the configuration command by the master blade of the virtual application distribution chassis;

determine by the master blade that the configuration command is to be applied by a second one or more slave blades of the plurality of blades of the virtual application distribution chassis; and

send a second configuration message by the master blade to the second one or more slave blades to apply the configuration command.

20. The system of claim 19 , wherein the determine by the master blade that the configuration command is to be applied by a second one or more slave blades of the plurality of blades of the virtual application distribution chassis comprises:

determine by the master blade that the configuration command applies changes to network interfaces of the second one or more slave blades.

21. The system of claim 18 , wherein the process a configuration command received from an administrative host by a master blade of the plurality of blades of the virtual application distribution chassis comprises:

receive the configuration command by the master blade of the virtual application distribution chassis;

determine by the master blade that the configuration command applies changes to a network application implemented by the virtual application distribution chassis;

determine whether the configuration command matches any of a plurality of stored configuration commands applicable to the plurality of blades;

in response to determining that the configuration command matches any of the plurality of stored configuration commands, determine by the master blade that the configuration command is to be applied by at least one slave blade implementing the network application of the plurality of blades; and

send a second configuration message by the master blade to the at least one slave blade implementing the network application to apply the configuration command.

22. The system of claim 19 , wherein the send a second configuration message by the master blade to the second one or more slave blades to apply the configuration command comprises:

in response to receiving the second configuration message by a second given slave blade of the second one or more slave blades, apply the configuration command in the second configuration message by the second given slave blade; and

send a reply configuration message by the second given slave blade to the master blade indicating that the configuration command was applied by the second given slave blade.

23. The system of claim 18 , wherein for the given slave blade, the send a request for an updated configuration file to the master blade by the given slave blade comprises:

in response to determining that the updated tag in the configuration message is more recent than the tag in the second configuration file stored at the given slave blade, send the request for the updated configuration file to the master blade by the given slave blade;

receive the request for the updated configuration file by the master blade from the given slave blade; and

send the requested updated configuration file to the given slave blade.

Assignments (3)
SECURITY INTEREST Recorded Sep 30, 2013
From: A10 NETWORKS, INC.
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 031485/0284 →
CHANGE OF ADDRESS Recorded Aug 22, 2013
From: A10 NETWORKS, INC.
To: A10 NETWORKS, INC.
Reel/Frame 031075/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2011
From: JALAN, RAJKUMAR; OSHIBA, DENNIS
To: A10 NETWORKS, INC.
Reel/Frame 026397/0919 →