Extending Distributed Hash Table-Based Software Network Functions to Switching Hardware
Abstract
According to one aspect disclosed herein, a system can include a set of node peers, including a first subset implemented in software and a second subset implemented in hardware. The first subset can include a software node. The second subset can include a hardware node that includes a hardware cache, a processor, and a memory that stores computer-executable instructions. The hardware node can receive, from a network, a packet, and can determine if data that identifies a path associated with the packet is stored in the hardware cache. If not, the hardware node can query the software node to identify the path associated with the packet, and can receive, in response from the software node, the data that identifies the path, which then can be stored in the hardware cache. The hardware node can forward, along the path, the packet to a network element.
Claims
exact text as granted — not AI-modified1 . A method comprising:
receiving, by a load balancer node comprising a distributed hash table portion, a command from a load balancer controller; in response to the command, dividing, by the load balancer node, the distributed hash table portion into a first sub-portion and a second sub-portion; and transferring, by the load balancer node, the second sub-portion to a new load balancer node.
2 . The method of claim 1 , wherein the distributed hash table portion comprises data; the first sub-portion comprises the data; and the second sub-portion comprises the data.
3 . The method of claim 2 , wherein the data comprises a plurality of hash keys.
4 . The method of claim 1 , wherein the distributed hash table portion comprises a portion of a key range; the first sub-portion comprises a first sub-portion of the key range; and the second sub-portion comprises a second sub-portion of the key range.
5 . The method of claim 1 , further comprising:
retaining, by the load balancer node, the first sub-portion; and replacing, by the load balancer node, data contained in the distributed hash table portion with new data contained in the first sub-portion.
6 . The method of claim 1 , further comprising transferring, by the load balancer node, the first sub-portion to a second new load balancer node.
7 . The method of claim 1 , further comprising after transferring, by the load balancer node, the second sub-portion to the new load balancer node, sending a confirmation to the load balancer controller to inform the load balancer controller that a state transfer requested in the command has been completed.
8 . A system comprising:
a load balancer controller; and a plurality of load balancer nodes comprising a load balancer node and a new load balancer node, and wherein the load balancer node comprises a distributed hash table portion; wherein the load balancer node comprises instructions that, when executed by a processor, cause the load balancer node to perform operations comprising
receiving a command from the load balancer controller,
in response to the command, dividing the distributed hash table portion into
a first sub-portion and a second sub-portion, and
transferring the second sub-portion to the new load balancer node.
9 . The system of claim 8 , wherein the distributed hash table portion comprises data; the first sub-portion comprises the data; and the second sub-portion comprises the data.
10 . The system of claim 9 , wherein the data comprises a plurality of hash keys.
11 . The system of claim 8 , wherein the distributed hash table portion comprises a portion of a key range; the first sub-portion comprises a first sub-portion of the key range; and the second sub-portion comprises a second sub-portion of the key range.
12 . The system of claim 8 , wherein the operations further comprise:
retaining the first sub-portion; and replacing data contained in the distributed hash table portion with new data contained in the first sub-portion.
13 . The system of claim 8 , wherein the operations further comprise transferring the first sub-portion to a second new load balancer node.
14 . The system of claim 8 , wherein the operations further comprise transferring the second sub-portion to the new load balancer node, sending a confirmation to the load balancer controller to inform the load balancer controller that a state transfer requested in the command has been completed.
15 . A computer storage medium having computer-executable instructions stored thereon that, when executed by a processor, cause the processor to perform operations comprising:
receiving a command from a load balancer controller; in response to the command, dividing a distributed hash table portion into a first sub-portion and a second sub-portion; and transferring the second sub-portion to a new load balancer node.
16 . The computer storage medium of claim 15 , wherein the distributed hash table portion comprises data; the first sub-portion comprises the data; and the second sub-portion comprises the data.
17 . The computer storage medium of claim 16 , wherein the data comprises a plurality of hash keys.
18 . The computer storage medium of claim 15 , wherein the distributed hash table portion comprises a portion of a key range; the first sub-portion comprises a first sub-portion of the key range; and the second sub-portion comprises a second sub-portion of the key range.
19 . The computer storage medium of claim 15 , wherein the operations further comprise:
retaining the first sub-portion; and replacing data contained in the distributed hash table portion with new data contained in the first sub-portion.
20 . The computer storage medium of claim 15 , wherein the operations further comprise transferring the first sub-portion to a second new load balancer node.Join the waitlist — get patent alerts
Track US2022029920A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.