Pipelineable and parallelizable streaming parsers for querying structured data-interchange information

US11537620B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11537620-B2
Application numberUS-202117443610-A
CountryUS
Kind codeB2
Filing dateJul 27, 2021
Priority dateOct 2, 2019
Publication dateDec 27, 2022
Grant dateDec 27, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computing system includes a processor and memory. The memory includes instruction code that causes the processor to generate first and second parser instances and associate the first parser and the second parser with respective first and second search queries. The processor controls the first parser to repeatedly obtain data from the data stream in blocks until the first parser finishes identifying elements in the data stream associated with its search path. The processor controls the second parser to repeatedly obtain blocks from the first parser when the blocks obtained by the first parser have not been searched by the second parser, and controls the second parser to obtain blocks from the data stream when the blocks obtained by the first parser have been searched by the second parser and the first parser has finished searching.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a processor; and a memory, accessible by the processor, storing instructions that, when executed by the processor, cause the processor to perform operations comprising: associating a first parser with a first search query; associating a second parser with a second search query; controlling the first parser to obtain first data from a data stream and to search the obtained first data for a first set of elements associated with the first search query; associating a read-from-stream flag (RS flag) with the second parser, wherein the RS flag defines a false state and a true state; controlling, in response to the RS flag being in the false state, the second parser to receive the obtained first data from the first parser and search the obtained first data for a second set of elements associated with the second search query; controlling, in response to the RS flag being in the true state, the second parser to obtain second data from the data stream and search the obtained second data for the second set of elements associated with the second search query; outputting the first set of elements found by the first parser as a first result of the searching; and outputting the second set of elements found by the second parser as a second result of the searching. 2. The system of claim 1 , wherein the operations comprise: receiving the first search query and the second search query; and in response to receiving the first search query and the second search query: generating the first parser; and generating the second parser. 3. The system of claim 1 , wherein the second search query is different from the first search query, and wherein the second set of elements found by the second parser occur in the data stream before the first set of elements found by the first parser. 4. The system of claim 1 , wherein the operations comprise: generating a third parser; associating the third parser with a third search query; associating a second RS flag with the third parser; and controlling, in response to the second RS flag being in the false state, the third parser to receive third data from the second parser and search the third data for a third set of elements associated with the third search query. 5. The system of claim 4 , wherein when the first parser is not finished searching and the second parser is finished searching, the second parser is controlled by the processor to continue to receive the obtained first data from the first parser and provide the obtained first data to the third parser. 6. The system of claim 1 , wherein receiving, by the second parser, the obtained first data from the first parser comprises: obtaining a copy of a particular portion of the first data from the first parser, obtaining a reference to a memory location of the particular portion of the first data, or any combination thereof. 7. The system of claim 1 , wherein the first and second parsers are controlled by the processor to search a particular block of data simultaneously. 8. A computer-implemented method comprising: associating a first parser with a first search query; associating a second parser with a second search query; controlling the first parser to obtain first data from a data stream and to search the obtained first data for a first set of elements associated with the first search query; associating a read-from-stream flag (RS flag) with the second parser, wherein the RS flag defines either a false state or a true state; controlling, in response to the RS flag being in the false state, the second parser to receive the obtained first data from the first parser and search the obtained first data for a second set of elements associated with the second search query; controlling, in response to the RS flag being in the true state, the second parser to obtain second data from the data stream and search the obtained second data for the second set of elements associated with the second search query; outputting the first set of elements found by the first parser as a first result of the searching; or outputting the second set of elements found by the second parser as a second result of the searching. 9. The computer-implemented method of claim 8 , comprising: generating a third parser; associating the third parser with a third search query; and associating a second RS flag with the third parser; and controlling, in response to the second RS flag being in the false state, the third parser to receive third data from the second parser and search the third data for a third set of elements associated with the third search query. 10. The computer-implemented method of claim 9 , wherein when the first parser is not finished searching and the second parser is finished searching, the method comprises: continuing to receive the obtained first data from the first parser and provide the obtained first data to the third parser. 11. The computer-implemented method of claim 8 , comprising: receiving the first search query and the second search query; and wherein the first parser is associated with the first search query in response to receiving the first search query and the second parser is associated with second search query in response to receiving the second search query. 12. The computer-implemented method of claim 8 , wherein the second search query is different from the first search query, and wherein the second set of elements found by the second parser occur in the data stream before the first set of elements found by the first parser. 13. The computer-implemented method of claim 8 , wherein receiving, by the second parser, the obtained first data from the first parser comprises: obtaining a copy of a particular portion of the first data from the first parser, obtaining a reference to a memory location of the particular portion of the first data, or any combination thereof. 14. The computer-implemented method of claim 8 , wherein the first parser and the second parser are configured to search a particular block of data simultaneously. 15. An article of manufacture including a non-transitory computer-readable medium, having stored thereon program instructions that, when executed by a processor, cause the processor to perform operations comprising: associating a first parser with a first search query; associating a second parser with a second search query; controlling the first parser to obtain first data from a data stream and to search the obtained first data for a first set of elements associated with the first search query; associating a read-from-stream flag (RS flag) with the second parser, wherein the RS flag defines a false state and a true state; controlling, in response to the RS flag being in the false state, the second parser to receive the obtained first data from the first parser and search the obtained first data for a second set of elements associated with the second search query; controlling, in response to the RS flag being in the true state, the second parser to obtain second data from the data stream and search the obtained second data for the second set of elements associated with the second search query; outputting the first set of elements found by the first parser as a first result of the searching; and outputting the second set of elements found by the second parser as a second result of the searching. 16. The article of manufacture of claim 15 , wherein the second search query is different from the first search query, and wherein the second set of elements found by the second parser occur in the data stream before

Assignees

Inventors

Classifications

  • Data stream processing; Continuous queries · CPC title

  • Presentation of query results · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11537620B2 cover?
A computing system includes a processor and memory. The memory includes instruction code that causes the processor to generate first and second parser instances and associate the first parser and the second parser with respective first and second search queries. The processor controls the first parser to repeatedly obtain data from the data stream in blocks until the first parser finishes ident…
Who is the assignee on this patent?
Servicenow Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/24568. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 27 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).