IP Library Granted Patent US 11,671,371
Granted Patent B2
US 11,671,371 · App. 16/941,877 · Granted Jun 6, 2023

Synchronization of multi-stack nodes

Inventors: Anil Abraham (Karnataka, IN); Manikandan Kenyan (Saratoga, CA); Ashok Babu Thangamani (Bangalore, IN)
Assignee: Musarubra US LLC
H04L47/125H04L45/02H04L45/021H04L47/215
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,671,371
App. No.
16/941,877
Granted
Jun 6, 2023
Kind
B2
Abstract

There is disclosed in one example a method of a work node synchronously load balancing to a multi-node service having an expected maximum of n work nodes, including: provisioning a flow table having m bucket groups, m≥1, the bucket groups including n slots each; enumerating a static integer self-identification id 0 ; initializing the flow table with id 0 in each slot; performing a discovery iteration, including: discovering a peer device; enumerating a static integer identification id x for the peer device; assigning id x to each slot corresponding to a home position for the peer device; and load balancing slots not assigned to a home position according to a deterministic algorithm; and discovering additional nodes and performing discovery iteration for the additional nodes.

Claims (37)

1. A method of a work node synchronously load balancing to a multi-node service having an expected maximum of n work nodes, comprising:

provisioning a flow table having m bucket groups, m≥1, the bucket groups comprising n slots each;

enumerating a static integer self-identification id 0 ;

initializing the flow table with id 0 in each slot;

performing a discovery iteration, comprising:

discovering a peer device;

enumerating a static integer identification id x for the peer device;

assigning id x to each slot corresponding to a home position for the peer device; and

load balancing slots not assigned to a home position according to a deterministic algorithm; and

discovering additional nodes and performing discovery iterations for the additional nodes.

2. The method of claim 1 , wherein the home position for a device is at a numerical offset within the bucket group that corresponds to id x .

3. The method of claim 1 , wherein the deterministic algorithm comprises cycling through static integer identifications of discovered devices in ascending numerical order.

4. One or more tangible, non-transitory computer-readable storage media comprising instructions to:

join a multi-node service cluster of up to n nodes;

receive a static numeric identifier;

fully populate a flow table with the static numeric identifier, wherein the flow table has n slots;

discover a new node in the cluster;

receive a second static numeric identifier for the new node;

assign the second static numeric identifier to one or more home positions for the second numeric identifier within the flow table, wherein the one or more home positions are reserved for the second static numeric identifier;

load balance remaining positions within the flow table according to a deterministic method; and

upon discovering another new node in the cluster, repeat the receive-assign-load balance sequence for the other new node.

5. The one or more tangible, non-transitory computer-readable storage media of claim 4 , wherein load balancing the remaining positions is according to a deterministic algorithm.

6. The one or more tangible, non-transitory computer-readable storage media of claim 5 , wherein the deterministic algorithm comprises sequentially filling non-home positions with sequentially numeric identifiers of discovered nodes in ascending numerical order.

7. The one or more tangible, non-transitory computer-readable storage media of claim 6 , wherein the deterministic algorithm further comprises cycling back to a smallest numeric identifier.

8. The one or more tangible, non-transitory computer-readable storage media of claim 4 , wherein the home position for a device is at a numerical offset within a bucket group that corresponds to a numeric identifier for that node.

9. The one or more tangible, non-transitory computer-readable storage media of claim 4 , wherein load balancing remaining positions within the flow table comprises applying a deterministic algorithm, wherein the deterministic algorithm comprises cycling through static integer identifications of discovered devices.

10. The one or more tangible, non-transitory computer-readable storage media of claim 9 , wherein the deterministic algorithm comprises cycling through static integer identifications of discovered devices in ascending numerical order.

11. The one or more tangible, non-transitory computer-readable storage media of claim 4 , wherein the instructions are further to provide a network security service.

12. The one or more tangible, non-transitory computer-readable storage media of claim 11 , wherein the network security service is a stateful flow-based service.

13. The one or more tangible, non-transitory computer-readable storage media of claim 4 , wherein the new nodes are substantially identical.

14. The one or more tangible, non-transitory computer-readable storage media of claim 4 , wherein the new nodes share a common trunk.

15. The one or more tangible, non-transitory computer-readable storage media of claim 4 , wherein the new nodes are arranged in a dual stack, comprising a primary stack and a failover stack.

16. The one or more tangible, non-transitory computer-readable storage media of claim 4 , wherein n=4.

17. The one or more tangible, non-transitory computer-readable storage media of claim 4 , wherein the nodes provide deep packet inspection.

18. A network service cluster comprising at least one hardware platform comprising a processor and a memory, and sharing a common trunk comprising a plurality of service nodes, wherein the service nodes are programmed to maintain independent flow tables for load balancing, wherein the independent flow tables have a number of slots corresponding to a number of nodes in the network service cluster and are to converge over time according to a deterministic algorithm wherein each node initially fully populates its flow table with its own numeric identifier, discovers other nodes, and for each discovered node assigns a numeric identifier for the discovered node to a home position for that numeric identifier, and then load balances remaining positions in the flow table between discovered nodes.

19. The network service cluster of claim 18 , wherein the home position for a device is at a numerical offset within a bucket group that corresponds to the device's identification.

20. The network service cluster of claim 18 , wherein the deterministic algorithm comprises cycling through static integer identifications of discovered devices.

Assignments (14)
RELEASE OF SECURITY INTEREST Recorded Aug 16, 2024
From: STG PARTNERS, LLC
To: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
Reel/Frame 068671/0435 →
TERMINATION AND RELEASE OF SECOND LIEN SECURITY INTEREST IN CERTAIN PATENTS RECORDED AT REEL 056990, FRAME 0960 Recorded Aug 15, 2024
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: MUSARUBRA US LLC
Reel/Frame 068655/0430 →
TERMINATION AND RELEASE OF FIRST LIEN SECURITY INTEREST IN CERTAIN PATENTS RECORDED AT REEL 057453, FRAME 0053 Recorded Aug 15, 2024
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: MUSARUBRA US LLC
Reel/Frame 068655/0413 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068656/0098 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068656/0920 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY HOLDINGS LLC; SKYHIGH SECURITY LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 068657/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068657/0764 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068657/0843 →
SECURITY INTEREST Recorded Aug 1, 2024
From: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
To: STG PARTNERS, LLC
Reel/Frame 068324/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2022
From: MCAFEE, LLC
To: MUSARUBRA US LLC
Reel/Frame 059855/0807 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 057315 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 11, 2022
From: MCAFEE, LLC
To: MUSARUBRA US LLC
Reel/Frame 060878/0126 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 27, 2021
From: MUSARUBRA US LLC; SKYHIGH NETWORKS, LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 056990/0960 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jul 27, 2021
From: MUSARUBRA US LLC; SKYHIGH NETWORKS, LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 057453/0053 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2020
From: ABRAHAM, ANIL; KENYAN, MANIKNDAN; THANGAMANI, ASHOK BABU
To: MCAFEE, LLC
Reel/Frame 053341/0606 →
Continuity (1)
Related Publication 20220038377A1 · Feb 3, 2022