×

Event batching, output sequencing, and log based state storage in continuous query processing

  • US 10,255,141 B2
  • Filed: 05/20/2016
  • Issued: 04/09/2019
  • Est. Priority Date: 10/22/2015
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising:

  • a memory storing a plurality of instructions; and

    one or more processors configured to access the memory, wherein the one or more processors are further configured to execute the plurality of instructions to at least;

    receive a continuous input stream of events related to an application;

    generate a checkpoint marker event;

    determine an interval for inserting the checkpoint marker event, the interval based at least in part on a type of the application, a latency requirement of the application, and a frequency at which events of the input stream of events are received;

    insert the checkpoint marker event into the continuous input stream of events at each interval;

    generate a set of one or more event batches based at least in part on the checkpoint marker event;

    determine a size for a particular event batch of the one or more event batches based at least in part on the interval for inserting the checkpoint marker event;

    process the continuous input stream of events to generate an output stream of events related to the application;

    determine an output sequence number for an output event in the output stream of events;

    transmit the output event comprising the output stream of events;

    store the output sequence number of the output event;

    while the continuous input stream of events is being processed, receive an indication of failure of the system; and

    in response to the indication of failure;

    determine a current output sequence number of a most recently transmitted output event in the output stream of events;

    determine a last output sequence number of an output event corresponding to a most recently processed batch of the one or more event batches;

    determine a set of one or more output events of the output stream to be transmitted based at least in part on the current sequence number and the last output sequence number; and

    transmit the set of one or more output events related to the application.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×