IP Library Granted Patent US 11,947,542
Granted Patent B2
US 11,947,542 · App. 16/881,751 · Granted Apr 2, 2024

Certifying events in a streaming pipeline

Inventors: Michael Pippin (Sunnyvale, CA); David Willcox (Urbana, IL); Allie K. Watfa (Urbana, IL); George Aleksandrovich (Hoffman Estates, IL)
Assignee: YAHOO ASSETS LLC
G06F16/24554G06F9/542
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 11,947,542
App. No.
16/881,751
Granted
Apr 2, 2024
Kind
B2
Abstract

Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising detecting a real close of books (COB) of a data transport, the real COB associated with a set of raw events transmitted over the data transport, flushing a stream processor in response to detecting the real COB, and retrieving a set of processed events from a distributed file system after the flushing is complete. A fact COB computation is then performed on the set of processed events and the set of raw events, the fact COB computation outputting a number of missing events, each missing event representing a raw event that is not present in the set of processed events. The processed events are then certified upon determining that the number of missing events is below a threshold.

Claims (34)

1. A method comprising:

detecting a real close of books (COB) of a data transport, the real COB associated with a set of raw events transmitted over the data transport and detected after a preconfigured number of validations have occurred for a corresponding batch time, the preconfigured number of validations corresponding to a ratio between the set of raw events transmitted over the data transport and a second set of events written to a raw event storage device;

flushing a stream processor in response to detecting the real COB;

retrieving a set of processed events from a distributed file system after the flushing is complete;

performing a fact COB computation on the set of processed events and the set of raw events, the set of processed events and the set of raw events cogrouped using shared join keys, the fact COB computation outputting a number of missing events, each missing event representing a raw event that is not cogrouped with a corresponding processed event; and

certifying the processed events upon determining that the number of missing events is below a threshold.

2. The method of claim 1 , further comprising initiating a replay of the missing events if the number of missing events is above a threshold.

3. The method of claim 1 , the detecting the real close of books comprising determining that a ratio of the number of events received over the data transport and the number of events written to a raw event storage is above a preconfigured threshold.

4. The method of claim 1 , further comprising identifying a set of missing events based on the cogrouping, the missing events comprising empty cells in a relation generated by the cogrouping.

5. The method of claim 1 , the flushing the stream processor comprising updating a scoreboard indicating with a replay level associated with a batch interval associated with the real COB.

6. The method of claim 5 , the flushing the stream processor further comprising polling the scoreboard to determine that the flushing is complete.

7. A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of:

detecting a real close of books (COB) of a data transport, the real COB associated with a set of raw events transmitted over the data transport and detected after a preconfigured number of validations have occurred for a corresponding batch time, the preconfigured number of validations corresponding to a ratio between the set of raw events transmitted over the data transport and a second set of events written to a raw event storage device;

flushing a stream processor in response to detecting the real COB;

retrieving a set of processed events from a distributed file system after the flushing is complete;

performing a fact COB computation on the set of processed events and the set of raw events, the set of processed events and the set of raw events comprising cogrouping the processed events and the raw events based on a join key, the fact COB computation outputting a number of missing events, each missing event representing a raw event that is not cogrouped with a corresponding processed events; and

certifying the processed events upon determining that the number of missing events is below a threshold.

8. The computer-readable storage medium of claim 7 , further comprising initiating a replay of the missing events if the number of missing events is above a threshold.

9. The computer-readable storage medium of claim 7 , the detecting the real close of books comprising determining that a ratio of the number of events received over the data transport and the number of events written to a raw event storage is above a preconfigured threshold.

10. The computer-readable storage medium of claim 7 , further comprising identifying a set of missing events based on the cogrouping, the missing events comprising empty cells in a relation generated by the cogrouping.

11. The computer-readable storage medium of claim 7 , the flushing the stream processor comprising updating a scoreboard indicating with a replay level associated with a batch interval associated with the real COB.

12. The computer-readable storage medium of claim 11 , the flushing the stream processor further comprising polling the scoreboard to determine that the flushing is complete.

13. A device comprising:

a processor; and

a storage medium for tangibly storing thereon program logic for execution by the processor, the stored program logic causing the processor to perform operations of:

detecting a real close of books (COB) of a data transport, the real COB associated with a set of raw events transmitted over the data transport and detected after a preconfigured number of validations have occurred for a corresponding batch time, the preconfigured number of validations corresponding to a ratio between the set of raw events transmitted over the data transport and a second set of events written to a raw event storage device;

flushing a stream processor in response to detecting the real COB;

retrieving a set of processed events from a distributed file system after the flushing is complete;

performing a fact COB computation on the set of processed events and the set of raw events, the set of processed events and the set of raw events comprising cogrouping the processed events and the raw events based on a join key, the fact COB computation outputting a number of missing events, each missing event representing a raw event that is not cogrouped with a corresponding processed events; and

certifying the processed events upon determining that the number of missing events is below a threshold.

14. The device of claim 13 , the detecting the real close of books comprising determining that a ratio of the number of events received over the data transport and the number of events written to a raw event storage is above a preconfigured threshold.

15. The device of claim 13 , the operations further comprising identifying a set of missing events based on the cogrouping, the missing events comprising empty cells in a relation generated by the cogrouping.

16. The device of claim 13 , the flushing the stream processor comprising updating a scoreboard indicating with a replay level associated with a batch interval associated with the real COB.

17. The device of claim 16 , the flushing the stream processor further comprising polling the scoreboard to determine that the flushing is complete.

Assignments (4)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2020
From: PIPPIN, MICHAEL; WILLCOX, DAVID; WATFA, ALLIE K.; ALEKSANDROVICH, GEORGE
To: OATH INC.
Reel/Frame 052735/0855 →
Continuity (1)
Related Publication 20210365459A1 · Nov 25, 2021