US 12,130,820 B2
Pipelineable and parallelizable streaming parsers for querying structured data-interchange information
Khosrow Jian Motamedi, San Diego, CA (US)
Assigned to ServiceNow, Inc., Santa Clara, CA (US)
Filed by ServiceNow, Inc., Santa Clara, CA (US)
Filed on Nov. 14, 2022, as Appl. No. 18/055,137.
Application 18/055,137 is a continuation of application No. 17/443,610, filed on Jul. 27, 2021, granted, now 11,537,620.
Application 17/443,610 is a continuation of application No. 16/591,334, filed on Oct. 2, 2019, granted, now 11,086,879, issued on Aug. 10, 2021.
Prior Publication US 2023/0082829 A1, Mar. 16, 2023
Int. Cl. G06F 16/2455 (2019.01); G06F 16/248 (2019.01)
CPC G06F 16/24568 (2019.01) [G06F 16/248 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
a processor; and
a non-transitory memory, accessible by the processor and storing instructions that, when executed by the processor, cause the processor to perform operations comprising:
associating a first parser with a first search query according to a first association;
associating a second parser with a second search query according to a second association;
searching, via the first parser, blocks of data of a data stream for a first set of elements based on the first search query and the first association;
providing, via the first parser, the blocks of data to the second parser, and searching, via the second parser, the blocks of data for a second set of elements based on the second search query and the second association, wherein the first set of elements is different from the second set of elements, and wherein the second parser is configured to (i) obtain the blocks of data from the first parser when the blocks of data obtained by the first parser have not been searched by the second parser, and (ii) obtain the blocks of data from the data stream when the first parser has finished searching and all of the blocks of data obtained by the first parser have been searched by the second parser; and
storing the first set of elements and the second set of elements in the non-transitory memory.