US 11,657,051 B2
Methods and apparatus for efficiently scaling result caching
Thomas Hazel, Boston, MA (US); David Noblet, Londonderry, NH (US); and Rudresh Trivedi, Boston, MA (US)
Assigned to CHAOSSEARCH, INC., Boston, MA (US)
Filed by CHAOSSEARCH, INC., Boston, MA (US)
Filed on Aug. 18, 2021, as Appl. No. 17/405,988.
Application 17/405,988 is a continuation of application No. 17/190,328, filed on Mar. 2, 2021, granted, now 11,126,622.
Prior Publication US 2022/0284021 A1, Sep. 8, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/2453 (2019.01); G06F 16/22 (2019.01)
CPC G06F 16/24539 (2019.01) [G06F 16/2228 (2019.01)] 17 Claims
OG exemplary drawing
 
1. A method for caching in object storage, comprising:
generating, by a computer system, an index based on a plurality of source data objects in an object storage system, the generated index comprising a manifest, at least one symbol file, and at least one locality file, the manifest comprising a tree data structure of a manifest root file with branch-leaf manifest files, the manifest root file specifying statistical values about at least a first branch-leaf manifest file based on the at least one symbol file and the at least one locality file associated with the first branch-leaf manifest file;
receiving, by the computer system and from a computing device, a first search query for the plurality of source data objects stored in the object storage system;
querying, by the computer system, the generated index based on the first search query and the manifest root file of the manifest in a search sequence based on the manifest, the querying of the generated index further including:
resolving any remaining unresolved aspects of the first search query based on parsing the branch-leaf manifest files of the manifest root file, and resolving of an aspect of the first search query including:
selecting a selected subset of the branch-leaf manifest files based on the statistical values of the manifest root file; and
using one or more locality files and one or more symbol files associated with the selected subset of the branch-leaf manifest files to return a result set based on a location of symbols in the plurality of source data objects;
generating, by the computer system, a materialized view of the result set of the first search query based on the querying of the generated index; and
storing, in persistent storage, a cached manifest file at the generated index, the cached manifest file mapping the first search query to a segment of the generated index based on the result set.