IP Library Granted Patent US 11,082,400
Granted Patent B2
US 11,082,400 · App. 15/386,207 · Granted Aug 3, 2021

Firewall configuration versioning

Inventors: Kaushal Bansal (Sunnyvale, CA); Uday Masurekar (Sunnyvale, CA); Shadab Shah (Sunnyvale, CA); James Joseph Stabile (Los Altos, CA); Steven Peters (Palo Alto, CA)
Assignee: NICIRA, INC.
H04L63/0263G06F12/0813G06F12/0875H04L63/0218G06F2212/1052G06F2212/152G06F2212/154G06F2212/60G06F2212/62
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,082,400
App. No.
15/386,207
Granted
Aug 3, 2021
Kind
B2
Abstract

Some embodiments provide a method for managing firewall protection in a datacenter that includes multiple host machines that each hosts a set of data compute nodes. The method maintains a firewall configuration for the host machines at a network manager of the data center. The firewall configuration includes multiple firewall rules to be enforced at the host machines. The method aggregates a first set of updates to the firewall configuration into a first aggregated update and associates the first aggregated update with a first version number. The method distributes a first host-level firewall configuration update to a first host machine based on the first aggregated update and associates the first host machine with the first version number. The method aggregates a second set of updates to the firewall configuration into a second aggregated update and associates the second aggregated update with a second version number.

Claims (40)

1. A method for managing firewall protection in a datacenter comprising a plurality of host machines that each hosts a set of data compute nodes, the method comprising:

at a network manager executing on a computer of the datacenter,

receiving a plurality of updates to sections of a firewall rule configuration stored in a firewall rule configuration storage of the datacenter, the firewall rule configuration comprising a plurality of firewall rules that are to be enforced at the plurality of host machines, and associating each updated section with a version number;

using a version number associated with an updated section to identify a host machine in the datacenter that has not received one of the plurality of updates;

generating a host-level firewall configuration update comprising the updates relevant to the identified host machine and associating the host-level firewall configuration update with a particular version number of the version numbers associated with the relevant updates; and

distributing the host-level firewall configuration update to the identified host machine and associating the identified host machine with the particular version number,

wherein said identified host machine uses the host-level firewall configuration update to process packets for a data compute node executing on the identified host machine in accordance with firewall actions specified by the host-level firewall configuration update.

2. The method of claim 1 , wherein the plurality of rules in the firewall rule configuration comprises rules that are specified for a plurality of different tenants, wherein the plurality of updates comprises updates from at least two different tenants.

3. The method of claim 1 , wherein the identified host machine is a first host machine and the host-level configuration update is a first host-level configuration update, the method further comprising:

identifying a second host machine in the datacenter that has not received one of the plurality of updates;

generating a second host-level firewall configuration update comprising the updates relevant to the identified second host machine and associating the second host-level configuration update with another version number; and

distributing the second host-level firewall configuration update to the identified second host machine and associating the identified second host machine with the other version number,

wherein said identified second host machine uses the second host-level firewall configuration update to process packets for a data compute node executing on the identified second host machine in accordance with firewall actions specified by the second host-level firewall configuration update.

4. The method of claim 1 , wherein associating the identified host machine with the particular version number comprises recording the particular version number in a firewall configuration status with a reference to the identified host machine, the firewall configuration status storing a plurality of version numbers associated with host machines.

5. The method of claim 4 , wherein distributing the host-level firewall configuration update to the identified host machine and associating the identified host machine with the particular version number further comprise sending the particular version number to the identified host machine and recording the particular version number in the firewall configuration status when an acknowledgement comprising the particular version number is received from the identified host machine.

6. The method of claim 1 , wherein each version number is a timestamp captured when a section was updated.

7. The method of claim 1 , wherein the particular version number associated with the host-level firewall configuration update is the version number associated with the most recent update of the host-level firewall configuration update.

8. The method of claim 1 , wherein the plurality of updates are received via a set of application programming interface (API) routines, wherein each version number is a timestamp captured when an API is invoked for updating a section, wherein a same version number is assigned to a set of at least two sections of the firewall rule configuration when an API is invoked for updating the set of sections, and a same version number is assigned to all sections of the firewall rule configuration when an API for updating the entire firewall rule configuration is invoked.

9. The method of claim 1 further comprising

monitoring for obsolescence of the local-level firewall configuration of the identified host machine by comparing the particular version number with the version numbers associated with the sections of the firewall rule configuration after the local-level firewall configuration update is generated.

10. The method of claim 1 , wherein associating an updated section with a version number comprises recording the version number with a reference to the updated section in a version aggregator storing a plurality of version numbers associated with sections.

11. A non-transitory machine readable medium storing a network manager that when executed by at least one processing unit of a computer in a datacenter manages firewall protection in the datacenter, the datacenter comprising a plurality of host machines that each hosts a set of data compute nodes, the network manager comprising sets of instructions for:

receiving a plurality of updates to sections of a firewall rule configuration stored in a firewall rule configuration storage of the datacenter, the firewall rule configuration comprising a plurality of firewall rules that are to be enforced at the plurality of host machines, and associating each updated section with a version number;

using a version number associated with an updated section to identify a host machine in the datacenter that has not received one of the plurality of updates;

generating a host-level firewall configuration update comprising the updates relevant to the identified host machine and associating the host-level configuration update with a particular version number of the version numbers associated with the relevant updates; and

distributing the host-level firewall configuration update to the identified host machine and associating the identified host machine with the particular version number,

wherein said identified host machine uses the host-level firewall configuration update to process packets for a data compute node executing on the identified host machine in accordance with firewall actions specified by the host-level firewall configuration update.

12. The non-transitory machine readable medium of claim 11 , wherein the plurality of rules in the firewall rule configuration comprises rules that are specified for a plurality of different tenants, wherein the first plurality of updates comprises updates from at least two different tenants.

13. The non-transitory machine readable medium of claim 11 , wherein the identified host machine is a first host machine and the host-level configuration update is a first host-level configuration update, the network manager further comprising sets of instructions for:

identifying a second host machine in the datacenter that has not received one of the plurality of updates;

generating a second host-level firewall configuration update comprising the updates relevant to the identified second host machine and associating the second host-level configuration update with another version number; and

distributing the second host-level firewall configuration update to the identified second host machine and associating the identified second host machine with the other version number,

wherein said identified second host machine uses the second host-level firewall configuration update to process packets for a data compute node executing on the identified second host machine in accordance with firewall actions specified by the second host-level firewall configuration update.

14. The non-transitory machine readable medium of claim 11 , wherein the set of instructions for associating the identified host machine with the particular version number comprises recording the particular version number in a firewall configuration status with a reference to the identified host machine, the firewall configuration status storing a plurality of version numbers associated with host machines.

15. The non-transitory machine readable medium of claim 11 , wherein each version number is a timestamp captured when a section was updated.

16. The non-transitory machine readable medium of claim 11 , wherein the particular version number associated with the host-level firewall configuration update is the version number associated with the most recent update of the host-level firewall configuration update.

17. The non-transitory machine readable medium of claim 11 , wherein the sets of instructions for associating an updated section with a version number comprise a set of instructions for recording the version number with a reference to the updated section in a version aggregator, the version aggregator storing a plurality of version numbers associated with sections.

18. The non-transitory machine readable medium of claim 14 , wherein the sets of instructions for distributing the host-level firewall configuration update to the identified host machine and associating the identified host machine with the particular version number further comprise sets of instructions for sending the particular version number to the identified host machine and recording the particular version number in the firewall configuration status when an acknowledgement comprising the particular version number is received from the identified host machine.

19. The non-transitory machine readable medium of claim 11 , wherein the plurality of updates are received via a set of application programming interface (API) routines, wherein each version number is a timestamp captured when an API is invoked for updating a section, wherein a same version number is assigned to a set of at least two sections of the firewall rule configuration when an API is invoked for updating the set of sections, and a same version number is assigned to all sections of the firewall rule configuration when an API for updating the entire firewall rule configuration is invoked.

20. The non-transitory machine readable medium of claim 11 , the network manager further comprising sets of instructions for monitoring for obsolescence of the local-level firewall configuration of the identified host machine by comparing the particular version number with the version numbers associated with the sections of the firewall rule configuration after the local-level firewall configuration update is generated.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2018
From: BANSAL, KAUSHAL; MASUREKAR, UDAY; SHAH, SHADAB; STABILE, JAMES JOSEPH; PETERS, STEVEN
To: NICIRA, INC.
Reel/Frame 046337/0879 →
Continuity (2)
Provisional Application 62356349 · Jun 29, 2016
Related Publication 20180007008A1 · Jan 4, 2018