IP Library Granted Patent US 9,680,893
Granted Patent B2
US 9,680,893 · App. 13/921,662 · Granted Jun 13, 2017

Method and system for event state management in stream processing

Inventors: Joy Banerjee (San Jose, CA); Shail Aditya Gupta (Bangalore, IN)
Assignee: EXCALIBUR IP, LLC
H04L65/60G06F9/466H04L65/602
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,680,893
App. No.
13/921,662
Granted
Jun 13, 2017
Kind
B2
Abstract

Method, system, and programs for event state management in stream processing. In one example, a batch of events is created from a plurality of input events. The batch is associated with a state and is to be processed in one or more stages. The batch of events is stored in a persistent storage. The state associated with the batch is updated based on results of processing the batch in the one or more stages. The state associated with the batch is retrieved.

Claims (55)

1. A method implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for event state management in stream processing, the method comprising:

creating a batch of events based on a plurality of events inputted from an external source, wherein the batch of events is associated with a state of processing the batch of events and is to be processed in one or more stages;

storing the batch of events in a persistent storage;

processing the batch of events in the one or more stages by at least one of an online event processing system and an offline event process system;

updating the state associated with the batch of events when the processing of the one or more stages is completed, wherein the state associated with the batch of events comprises one or more sub-states corresponding to the one or more stages;

updating each sub-state of the one or more sub-states to “complete” once the batch of events has been processed in the corresponding stage of the one or more stages; and

updating the state associated with the batch of events to “committed” once the batch of events has been processed in all of the one or more stages.

2. The method of claim 1 , further comprising:

if processing of an event in the batch of events fails, updating the state associated with the batch of events to “failed;”

retrieving the batch of events from the persistent storage; and

updating the state associated with the batch of events to “replayed”.

3. The method of claim 1 , further comprising:

receiving a request to read event data for the batch of events in one of the one or more stages;

retrieving the state associated with the batch of events in the one of the one or more stages;

retrieving the corresponding sub-state in the one of the one or more stages; and

retrieving the requested event data for the batch of events from the persistent storage if the state associated with the batch of events is “committed” or if the corresponding sub-state is “complete”.

4. The method of claim 3 , wherein the event data for the batch of events in the one of the one or more stages is updated based on the result of processing the batch of events in the one of the one or more stages only when all of the events in the batch of events have been processed in the one of the one or more stages.

5. The method of claim 1 , wherein each sub-state of the one or more sub-states is updated only when all of the events in the batch of events have been processed in the corresponding stage of the one or more stages.

6. The method of claim 1 , further comprising:

storing the state associated with the batch of events in another persistent storage separate from the persistent storage for storing the batch of events.

7. The method of claim 1 , wherein the batch of events in the one or more stages are processed by the online event processing system and the offline event process system.

8. A system for event state management in stream processing, comprising:

a processor couple to a memory;

an input event managing unit, executed by the processor, configured to create a batch of events based on a plurality of events inputted from an external source, wherein the batch of events is associated with a state of processing the batch of events and is to be processed in one or more stages;

a batch event storage, executed by the processor, configured to store the batch of events;

at least one of an online event processing system and an offline event process system, executed by the processor, configured to process the batch of events in the one or more stages; and

an event batch write managing unit, executed by the processor, configured to update the state associated with the batch of events when the processing of the one or more stages is completed, wherein the state associated with the batch of events comprises one or more sub-states corresponding to the one or more stages, and the event batch write managing unit is further configured to

update each sub-state of the one or more sub-states to “complete” once the batch of events has been processed in the corresponding stage of the one or more stages, and

update the state associated with the batch of events to “committed” once the batch of events has been processed in all of the one or more stages.

9. The system of claim 8 , wherein, if processing of an event in the batch of events fails, the input event managing unit is further configured to:

update the state associated with the batch of events to “failed;”

retrieve the batch of events from the persistent storage; and

update the state associated with the batch of events to “replayed”.

10. The system of claim 8 , further comprising an event batch read managing unit, executed by the processor, configured to:

receive a request to read event data for the batch of events in one of the one or more stages;

retrieve the state associated with the batch of events in the one of the one or more stages;

retrieve the corresponding sub-state in the one of the one or more stages; and

retrieve the requested event data for the batch of events from the persistent storage if the state associated with the batch of events is “committed” or if the corresponding sub-state of the one or more sub-stages is “complete”.

11. The system of claim 10 , wherein the event data for the batch of events in the one of the one or more stages is updated based on a result of processing the batch of events in the one of the one or more stages only when all of the events in the batch of events have been processed in the one of the one or more stages.

12. The system of claim 8 , wherein each sub-state of the one or more sub-states is updated when all of the events in the batch of events have been processed in the corresponding stage of the one or more stages.

13. The system of claim 8 , further comprising a batch state storage, executed by the processor, configured to:

store the state associated with the batch of events separate from the batch event storage for storing the batch of events.

14. A machine-readable tangible and non-transitory medium having information recorded thereon for event state management in stream processing, wherein the information, when read by the machine, causes the machine to perform the following:

creating a batch of events based on a plurality of events inputted from an external source, wherein the batch of events is associated with a state of processing the batch of events and is to be processed in one or more stages;

storing the batch of events in a persistent storage;

processing the batch of events in the one or more stages by at least one of an online event processing system and an offline event process system;

updating the state associated with the batch of events when the processing of the one or more stages is completed, wherein the state associated with the batch of events comprises one or more sub-states corresponding to the one or more stages;

updating each sub-state of the one or more sub-states to “complete” once the batch of events has been processed in the corresponding stage of the one or more stages; and

updating the state associated with the batch of events to “committed” once the batch of events has been processed in all of the one or more stages.

15. The medium of claim 14 , further comprising:

receiving a request to read event data for the batch of events in one of the one or more stages;

retrieving the state associated with the batch of events in the one of the one or more stages; retrieving the corresponding sub-state in the one of the one or more stages; and

retrieving the requested event data for the batch of events from the persistent storage if the state associated with the batch of events is “committed” or if the corresponding sub-state is “complete”.

16. The medium of claim 15 , wherein the event data for the batch of events in the one of the one or more stages is updated based on a result of processing the batch of events in the one of the one or more stages only when all of the events in the batch of events have been processed in the one of the one or more stages.

17. The medium of claim 14 , wherein each sub-state of the one or more sub-states is updated when all of the events in the batch of events have been processed in the corresponding stage.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2021
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 055283/0483 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2013
From: BANERJEE, JOY; GUPTA, SHAIL ADITYA
To: YAHOO! INC.
Reel/Frame 030644/0290 →
Priority Claims (1)
IN 1044/CHE/2013 · Mar 12, 2013 · national
Continuity (1)
Related Publication 20140280766A1 · Sep 18, 2014