US 11,860,861 B2
Growing dynamic shared memory hash table
Sebastian Sapa, Vancouver (CA); Duncan Stuart Ritchie, Bowen Island (CA); Jonathan Antusiak, Vancouver (CA); and Stephanie Elaine Fung, Burnaby (CA)
Assigned to Arista Networks, Inc., Santa Clara, CA (US)
Filed by Arista Networks, Inc., Santa Clara, CA (US)
Filed on Jul. 13, 2021, as Appl. No. 17/374,952.
Application 17/374,952 is a division of application No. 15/187,698, filed on Jun. 20, 2016, granted, now 11,068,469.
Claims priority of provisional application 62/214,608, filed on Sep. 4, 2015.
Prior Publication US 2021/0365441 A1, Nov. 25, 2021
Int. Cl. G06F 16/23 (2019.01); H04L 45/7453 (2022.01); H04L 45/64 (2022.01); H04L 49/90 (2022.01)
CPC G06F 16/2379 (2019.01) [G06F 16/2365 (2019.01); H04L 45/7453 (2013.01); H04L 45/64 (2013.01); H04L 49/90 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to adjust a size of a shared table that is shared between a writer and a plurality of readers, the method comprising:
receiving a first entry to be added to the shared table;
in response to receiving the first entry, remapping the shared table to add a new storage segment to the shared table;
adding the first entry to the shared table, wherein the first entry is stored in the new storage segment;
updating a shared table characteristic to indicate that the shared table has changed; and
deleting a second entry in the shared table:
determining that a number of active entries in the shared table is less than a threshold;
determining a delete segment and an active segment in the shared table;
copying an active entry from the delete segment to an entry in the active segment;
remapping the shared table to remove the delete segment; and
updating the shared table characteristics to indicate that the shared table has changed.