US 11,836,090 B2
Cache management for search optimization
Angela Lin, Kanata (CA)
Assigned to Kinaxis Inc., Ottawa (CA)
Filed by Kinaxis Inc., Ottawa (CA)
Filed on Feb. 17, 2021, as Appl. No. 17/177,368.
Application 17/177,368 is a continuation of application No. 16/264,855, filed on Feb. 1, 2019, granted, now 10,936,501.
Prior Publication US 2021/0165742 A1, Jun. 3, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 12/0895 (2016.01); G06F 12/0897 (2016.01)
CPC G06F 12/0895 (2013.01) [G06F 12/0897 (2013.01); G06F 2212/1024 (2013.01); G06F 2212/608 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A method for storing a data value onto a cache, the method comprising:
determining, by a processor, that a target range partition that encompasses the data value is cached, the target range partition being from among a plurality of disjointed range partitions;
determining, by the processor, that the data value is not present in the target range partition;
determining, by the processor, that if the cache is full:
a) deleting, by the processor, the plurality of disjointed range partitions;
b) creating, by the processor, a first new range partition that encompasses the data value, the first new range partition excluding at least one value already present in the cache;
c) designating, by the processor, the first new range partition as cached;
d) creating, by the processor, one or more further new uncached range partitions that each encompass any remaining uncached values; and
e) updating, by the processor, the plurality of disjointed range partitions to reflect the first new range partition and the one or more further new uncached range partitions;
and
determining, by the processor, that if the cache has space:
inserting, by the processor, the data value into the target partition range; and
copying the data value into the first tier;
with:
the plurality of disjointed range partitions collectively encompassing a range of possible data values to be stored on a first tier of a storage hierarchy, the plurality of disjointed range partitions consisting of a subset of one or more cached range partitions and a subset of one or more uncached range partitions;
a collection of data values being stored on the first tier of the storage hierarchy, the collection of data values being partitioned into a subset of uncached data and a subset of cached data;
the subset of uncached data being placed into the one or more uncached range partitions; and
the subset of cached data being placed into the one or more cached range partitions, the subset of cached data being copied into the cache, the cache residing on a second tier of the storage hierarchy, the second tier being faster than the first tier.