IP Library Granted Patent US 11,956,297
Granted Patent B2
US 11,956,297 · App. 18/155,026 · Granted Apr 9, 2024

Joining and dimensional annotation 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
H04L65/765G06F7/32G06F16/24568H04L45/028H04L51/18H04L67/01H04L67/1046H04L67/2871
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,956,297
App. No.
18/155,026
Granted
Apr 9, 2024
Kind
B2
Abstract

Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving, at a stream processor, an event, the stream processor including a plurality of processing stages; generating, by the stream processor, an augmented event based on the event, the augmented event including at least one additional field not appearing in the event, the additional field generated by an operation selected from the group consisting of a join or dimensional annotation operation; and emitting, by the stream processor, the augmented event to downstream consumer.

Claims (34)

1. A method comprising:

receiving, at a stream processor, an event, the stream processor including a plurality of processing stages;

querying, by the stream processor, a join table to identify a secondary event associated with the event;

emitting, by the stream processor, the event to downstream consumer if the secondary event is not present in the join table; and

emitting, by the stream processor, an augmented event using the event and the secondary event when the secondary event is present in the join table.

2. The method of claim 1 , further comprising querying the join table to determine if the event is in the join table prior to querying the join table to identify the secondary event and writing the event to the join table if the event is not in the join table.

3. The method of claim 2 , wherein querying the join table to determine if the event is in the join table comprises extracting a join key from the event and querying the join table using the join key.

4. The method of claim 2 , wherein querying the join table to identify the secondary event and querying the join table to determine if the event is in the join table comprise a single query.

5. The method of claim 1 , further comprising labeling the secondary event if the secondary event is present in the join table.

6. The method of claim 5 , wherein labeling the secondary event comprises setting a join status header field of the secondary event in the join table.

7. The method of claim 1 , further comprising augmenting the secondary event if the secondary event is present in the join table to form the augmented event, the augmented event including one or more fields from the event.

8. 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:

receiving, at a stream processor, an event, the stream processor including a plurality of processing stages;

querying, by the stream processor, a join table to identify a secondary event associated with the event;

emitting, by the stream processor, the event to downstream consumer if the secondary event is not present in the join table; and

emitting, by the stream processor, an augmented event using the event and the secondary event when the secondary event is present in the join table.

9. The non-transitory computer-readable storage medium of claim 8 , further comprising querying the join table to determine if the event is in the join table prior to querying the join table to identify the secondary event and writing the event to the join table if the event is not in the join table.

10. The non-transitory computer-readable storage medium of claim 9 , wherein querying the join table to determine if the event is in the join table comprises extracting a join key from the event and querying the join table using the join key.

11. The non-transitory computer-readable storage medium of claim 9 , wherein querying the join table to identify the secondary event and querying the join table to determine if the event is in the join table comprise a single query.

12. The non-transitory computer-readable storage medium of claim 8 , further comprising labeling the secondary event if the secondary event is present in the join table.

13. The non-transitory computer-readable storage medium of claim 12 , wherein labeling the secondary event comprises setting a join status header field of the secondary event in the join table.

14. The non-transitory computer-readable storage medium of claim 8 , further comprising augmenting the secondary event if the secondary event is present in the join table to form the augmented event, the augmented event including one or more fields from the event.

15. A device comprising:

a stream processor; and

a storage medium for tangibly storing thereon program logic for execution by the stream processor, the program logic comprising instructions for:

receiving an event, the stream processor including a plurality of processing stages;

querying a join table to identify a secondary event associated with the event;

emitting the event to downstream consumer if the secondary event is not present in the join table; and

emitting an augmented event using the event and the secondary event when the secondary event is present in the join table.

16. The device of claim 15 , the instructions further comprising querying the join table to determine if the event is in the join table prior to querying the join table to identify the secondary event and writing the event to the join table if the event is not in the join table.

17. The device of claim 16 , wherein querying the join table to determine if the event is in the join table comprises extracting a join key from the event and querying the join table using the join key.

18. The device of claim 16 , wherein querying the join table to identify the secondary event and querying the join table to determine if the event is in the join table comprise a single query.

19. The device of claim 15 , the instructions further comprising labeling the secondary event if the secondary event is present in the join table.

20. The device of claim 15 , further comprising augmenting the secondary event if the secondary event is present in the join table to form the augmented event, the augmented event including one or more fields from the event.

Assignments (4)
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 17, 2025
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 072915/0540 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2023
From: PIPPIN, MICHAEL; WILLCOX, DAVID; WATFA, ALLIE K.; ALEKSANDROVICH, GEORGE
To: OATH INC.
Reel/Frame 062452/0136 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2023
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 062461/0048 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2023
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 062461/0390 →