US 12,380,081 B2
Reducing requests using probabilistic data structures
Atish Agrawal, Seattle, WA (US); and Jameison Bear Martin, Oakland, CA (US)
Assigned to Salesforce, Inc., San Francisco, CA (US)
Filed by salesforce.com, inc., San Francisco, CA (US)
Filed on Nov. 28, 2022, as Appl. No. 18/059,274.
Application 18/059,274 is a continuation of application No. 16/777,870, filed on Jan. 30, 2020, granted, now 11,514,015.
Prior Publication US 2023/0090835 A1, Mar. 23, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 7/00 (2006.01); G06F 12/0802 (2016.01); G06F 16/17 (2019.01); G06F 16/18 (2019.01); G06F 16/22 (2019.01); G06F 16/908 (2019.01); H04L 9/32 (2006.01)
CPC G06F 16/2255 (2019.01) [G06F 12/0802 (2013.01); G06F 16/1734 (2019.01); G06F 16/1865 (2019.01); G06F 16/908 (2019.01); H04L 9/3242 (2013.01); G06F 2212/163 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method, comprising:
processing, by a first database node, a set of database transactions involving writing a set of records into an in-memory cache of the first database node, wherein the processing includes inserting keys of the set of records into a stack of filter structures;
receiving, by the first database node and from a second database node, a record request for a first record, wherein the record request includes information that specifies a transaction commit number (XCN) associated with the second database node;
generating, by the first database node, a record response indicating whether the first record is present in the in-memory cache, wherein the generating includes:
incorporating into the record response, from the stack of filter structures, only those filter structures having a respective XCN that is indicative of a time later than the XCN associated with the second database node;
sending, by the first database node and to the second database node, the record response, wherein a given filter structure included in the record response enables the second database node to determine whether to request a second record from the first database node; and
subsequent to a flush XCN of the first database node being indicative of a time later than a first XCN of the given filter structure, the first database node purging the given filter structure from the first database node.