Multi-stream transactional event processing in a distributed log-based append-only datastore
US-11874822-B1 · Jan 16, 2024 · US
US2016078050A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016078050-A1 |
| Application number | US-201514599543-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jan 19, 2015 |
| Priority date | Sep 17, 2014 |
| Publication date | Mar 17, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A server system provided according to an aspect of the present disclosure forms physical queries to process a user query received from a client system. Each physical query is thereafter executed in a corresponding concurrent execution entity (e.g., thread) to retrieve a respective data portion from a corresponding data source. A response to the user query is formed based on the data portions. State information corresponding to each execution entity is logged into log storage. According to another aspect, when a query (either physical or user) causes an execution environment to crash, the identifier of such query is added to a prohibited list. When a new query is to be executed, the initiation of execution of the new query is prevented if the identifier of the new query is present in the prohibited list.
Opening claim text (preview).
What is claimed is: 1 . A method performed in a server system, said method comprising: receiving a user query from a client system; forming physical queries from said user query, each physical query for retrieving a portion of data required to form response to said user query; executing each of said physical queries in a corresponding concurrent execution entity of a plurality of execution entities to receive the respective portions of said data; generating a response to said user query based on said respective portions; sending said response to said client system; and logging status of activities in each concurrent execution entity to a log storage. 2 . The method of claim 1 , wherein said logging comprises: maintaining a respective stack for each concurrent execution entity such that a first stack is maintained for a first concurrent execution entity of said plurality of execution entities; adding a corresponding entry to said first stack upon initiation of each activity in said first concurrent execution entity, wherein each entry maintains a state information related to the corresponding activity, wherein said first stack includes a first entry corresponding to a first activity and a second entry corresponding to a second activity; and removing said second entry from said first stack upon completion of said corresponding second activity. 3 . The method of claim 2 , further comprising: receiving an indication of occurrence of a crash of said first execution entity at a time instance; in response to said indication, providing content of each entry in said stacks first stack to an administrator for debugging purpose, wherein said content provided to said administrator represents status information with respect to all activities not yet completed in said first execution entity until said time instance. 4 . The method of claim 3 , wherein said first execution entity processes a first physical query, wherein said user query is processed in a second execution entity also executing concurrent with said first execution entity, wherein said method further comprises: maintaining a parent stack for logging activities related to processing of said user query in said second execution entity; and including a pointer from said first stack to said parent stack. 5 . The method of claim 4 , wherein said providing further comprising: providing content of each entry in said parent stack corresponding to said second execution entity, wherein said content of said parent stack represents status information with respect to all activities not yet completed in said second execution entity until said time instance. 6 . The method of claim 5 , wherein each of said first execution entity and said second execution entity is a thread. 7 . The method of claim 1 , wherein a first portion of data maintained in a first database server and a second portion of data maintained in a second database server, wherein said executing comprises: connecting to said first database server to retrieve said first portion of data; and connecting to said second database server to retrieve said second portion of data. 8 . A non-transitory machine readable medium storing one or more sequences of instructions for enabling a server system to facilitate handling of crashes, wherein execution of said one or more instructions by one or more processors contained in said server system enables said server system to perform the actions of: receiving a user query from a client system; forming physical queries from said user query, each physical query for retrieving a portion of data required to form response to said user query; executing each of said physical queries in a corresponding concurrent execution entity of a plurality of execution entities to receive the respective portions of said data; generating a response to said user query based on said respective portions; sending said response to said client system; and logging status of activities in each concurrent execution entity to a log storage. 9 . The non-transitory machine readable medium of claim 8 , wherein said logging comprises: maintaining a respective stack for each concurrent execution entity such that a first stack is maintained for a first concurrent execution entity of said plurality of execution entities; adding a corresponding entry to said first stack upon initiation of each activity in said first concurrent execution entity, wherein each entry maintains a state information related to the corresponding activity, wherein said first stack includes a first entry corresponding to a first activity and a second entry corresponding to a second activity; and removing said second entry from said first stack upon completion of said corresponding second activity. 10 . The non-transitory machine readable medium of claim 9 , wherein said actions further comprise: receiving an indication of occurrence of a crash of said first execution entity at a time instance; in response to said indication, providing content of each entry in said stacks first stack to an administrator for debugging purpose, wherein said content provided to said administrator represents status information with respect to all activities not yet completed in said first execution entity until said time instance. 11 . The non-transitory machine readable medium of claim 10 , wherein said first execution entity processes a first physical query, wherein said user query is processed in a second execution entity also executing concurrent with said first execution entity, wherein said actions further comprise: maintaining a parent stack for logging activities related to processing of said user query in said second execution entity; and including a pointer from said first stack to said parent stack. 12 . The non-transitory machine readable medium of claim 11 , wherein said providing further comprising: providing content of each entry in said parent stack corresponding to said second execution entity, wherein said content of said parent stack represents status information with respect to all activities not yet completed in said second execution entity until said time instance. 13 . The non-transitory machine readable medium of claim 12 , wherein each of said first execution entity and said second execution entity is a thread. 14 . A server system comprising: one or more random access memories (RAMs) to store instructions; one or more processing units to retrieve said instructions from said RAMs and execute the retrieved instructions, wherein execution of said instructions causes said server system to perform the actions of: receiving a user query from a client system; forming physical queries from said user query, each physical query for retrieving a portion of data required to form response to said user query; executing each of said physical queries in a corresponding concurrent execution entity of a plurality of execution entities to receive the respective portions of said data; generating a response to said user query based on said respective portions; sending said response to said client system; and logging status of activities in each concurrent execution entity to a log storage. 15 . The server system of claim 14 , wherein said logging comprises: maintaining a respective stack for each concurrent execution entity such that a first stack is maintained for a first concurrent execution entity of said plurality of execution entities; adding a corresponding entry to said first stack upon initiation of each activity in said first concurrent execution entity, whe
Concurrency control (transaction processing G06F9/466) · CPC title
Query processing · CPC title
Physics · mapped topic
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.