US 12,141,271 B2
Utilizing progress identifiers to rewrite an event query
Abhijit Chakankar, San Jose, CA (US); Pramesh Gupta, Rajnandgaon (IN); Vipin Vishvkarma, Bangalore (IN); and Apurv Gupta, Bangalore (IN)
Assigned to Cohesity, Inc., San Jose, CA (US)
Filed by Cohesity, Inc., San Jose, CA (US)
Filed on Jul. 27, 2021, as Appl. No. 17/386,076.
Prior Publication US 2023/0030246 A1, Feb. 2, 2023
Int. Cl. G06F 16/242 (2019.01); G06F 16/245 (2019.01); G06F 21/55 (2013.01)
CPC G06F 21/552 (2013.01) [G06F 16/242 (2019.01); G06F 16/245 (2019.01); G06F 2221/034 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method, comprising:
receiving events from one or more primary systems associated with one or more tenants; storing the received events in a message queue; ingesting at least a portion of the events in the message queue for organization and storage in a data store; tracking progress identifiers associated with ingesting of the events in the message queue; flushing and storing at least the portion of the events from the message queue into a shard of the data store corresponding to a tenant among the one or more tenants; receiving, from an external system, an event query associated with the tenant; rewriting the event query associated with the tenant into a first component query for the shard of the data store corresponding to the tenant and a second component query for the message queue based at least in part on a data store progress identifier, wherein the data store progress identifier indicates a most recent event that is stored in the shard corresponding to the tenant, wherein the shard of the data store corresponding to the tenant enables the events stored in the shard associated with the tenant to be identified and retrieved in less time than events associated with the tenant within the message queue, wherein the data store progress identifier is a boundary for the first component query and the second component query; and combining a result of the first component query and a result of the second component query to determine a result of the event query.