US 12,335,139 B2
Stateful services on stateless clustered edge
Mike Parsa, Santa Cruz, CA (US); Jayant Jain, Cupertino, CA (US); Xinhua Hong, Milpitas, CA (US); Anirban Sengupta, Saratoga, CA (US); and Kai-Wei Fan, San Jose, CA (US)
Assigned to VMWare LLC, Palo Alto, CA (US)
Filed by VMware LLC, Palo Alto, CA (US)
Filed on Dec. 18, 2022, as Appl. No. 18/083,533.
Application 18/083,533 is a continuation of application No. 14/541,477, filed on Nov. 14, 2014, granted, now 11,533,255.
Prior Publication US 2023/0124797 A1, Apr. 20, 2023
Int. Cl. H04L 45/00 (2022.01); H04L 9/40 (2022.01); H04L 45/7453 (2022.01); H04L 61/2503 (2022.01); H04L 67/02 (2022.01); H04L 67/1001 (2022.01)
CPC H04L 45/46 (2013.01) [H04L 45/38 (2013.01); H04L 45/66 (2013.01); H04L 45/7453 (2013.01); H04L 63/0218 (2013.01); G06F 2221/2105 (2013.01); H04L 61/2503 (2013.01); H04L 67/02 (2013.01); H04L 67/1001 (2022.05)] 15 Claims
OG exemplary drawing
 
1. A method of performing stateful services on data message flows in a cluster of nodes, the method comprising:
performing a stateful service for a particular flow at a cluster of nodes, wherein a state of the particular flow is maintained by a first node in the cluster;
adding a node to the cluster of nodes while the cluster of nodes is performing the stateful service for the particular flow; and
identifying a second node by computing a hash of flow identifiers of the particular flow over the cluster of nodes after a node is added; and
forwarding packets belonging to the particular flow from the second node to the first node;
wherein the first node remains an owner node of the particular flow and maintains state information related to the particular flow until the particular flow is complete.
 
9. A method for performing a service on packets of a particular flow, the method comprising:
identifying a first node in a cluster of nodes based on an original set of flow identifiers of the particular flow; and
performing stateful service for the particular flow at the first node by (i) maintaining state information of the particular flow and (ii) receiving packets having a translated set of flow identifiers of the particular flow from a second node in the cluster, wherein the second node is identified based on the translated set of flow identifiers of the particular flow;
wherein the first node remains an owner node of the particular flow and maintains state information related to the particular flow until the particular flow is complete.