IP Library › Granted Patent US 12,003,588
Granted Patent B2
US 12,003,588 · App. 17/711,774 · Granted Jun 4, 2024

Coalescing packets with multiple writers in a stateless network function

Inventors: Daniel Noland (Boulder, CO); Ofer Hirsch Gill (Longmont, CO)
Assignee: STATELESS, INC.
H04L67/142H04L43/028H04L69/169
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 12,003,588
App. No.
17/711,774
Granted
Jun 4, 2024
Kind
B2
Abstract

A method including receiving a batch of events at a processing system of a distributed stream processing system including multiple processing systems in data communication with a shared state data store. The method also can include determining, at the processing system, database operations associated with the events. The method additionally can include coalescing, at the processing system, the database operations into one or more speculative database operations with one or more associated reject rules. The processing system stores a speculative state of at least a portion of the shared state data store. The one or more associated reject rules are based on the speculative state. The method further can include sending the one or more speculative database operations and the one or more associated reject rules from the processing system to the shared state data store to cause the shared state data store to determine whether to reject one or more of the one or more speculative database operations based on an authoritative state in the shared state data store. The method additionally can include receiving, at the processing system, one or more responses from the shared state data store. Other embodiments are described.

Claims (48)

1. A method comprising:

receiving a batch of events at a processing system of a distributed stream processing system comprising multiple processing systems in data communication with a shared state data store;

determining, at the processing system, database operations associated with the events;

coalescing, at the processing system, the database operations into one or more speculative database operations with one or more associated reject rules, wherein the processing system stores a speculative state of at least a portion of the shared state data store, and wherein the one or more associated reject rules are based on the speculative state;

sending the one or more speculative database operations and the one or more associated reject rules from the processing system to the shared state data store to cause the shared state data store to determine whether to reject one or more of the one or more speculative database operations based on an authoritative state in the shared state data store; and

receiving, at the processing system, one or more responses from the shared state data store, wherein the one or more responses comprise one or more rejections of the one or more speculative database operations.

2. The method of claim 1 further comprising:

updating the speculative state in the processing system based on the one or more responses from the shared state data store.

3. The method of claim 1 further comprising:

rejecting one or more of the events based on the one or more responses.

4. The method of claim 1 , wherein:

the processing system implements a stateless network function; and

the shared state data store is located outside the multiple processing systems.

5. The method of claim 4 , wherein:

the stateless network function is one of a packet filter, a network address translator, a router, or an IPSec protocol.

6. The method of claim 1 further comprising: updating the speculative state in the processing system based on the one or more responses from the shared state data store; and rejecting one or more of the events based on the one or more responses, wherein: the processing system implements a stateless network function; the shared state data store is located outside the multiple processing systems; and the stateless network function is one of a packet filter, a network address translator, a router, or an IPSec protocol.

7. One or more non-transitory computer-readable media storing computing instructions that, when executed on a processor, cause the processor to perform:

receiving a batch of events at a processing system of a distributed stream processing system comprising multiple processing systems in data communication with a shared state data store;

determining, at the processing system, database operations associated with the events;

coalescing, at the processing system, the database operations into one or more speculative database operations with one or more associated reject rules, wherein the processing system stores a speculative state of at least a portion of the shared state data store, and wherein the one or more associated reject rules are based on the speculative state;

sending the one or more speculative database operations and the one or more associated reject rules from the processing system to the shared state data store to cause the shared state data store to determine whether to reject one or more of the one or more speculative database operations based on an authoritative state in the shared state data store; and

receiving, at the processing system, one or more responses from the shared state data store, wherein the one or more responses comprise one or more rejections of the one or more speculative database operations.

8. The one or more non-transitory computer-readable media of claim 7 , wherein the computing instructions, when executed on the processor, further cause the processor to perform:

updating the speculative state in the processing system based on the one or more responses from the shared state data store.

9. The one or more non-transitory computer-readable media of claim 7 , wherein the computing instructions, when executed on the processor, further cause the processor to perform:

rejecting one or more of the events based on the one or more responses.

10. The one or more non-transitory computer-readable media of claim 7 , wherein:

the processing system implements a stateless network function; and

the shared state data store is located outside the multiple processing systems.

11. The one or more non-transitory computer-readable media of claim 7 , wherein the computing instructions, when executed on the processor, further cause the processor to perform: updating the speculative state in the processing system based on the one or more responses from the shared state data store; and rejecting one or more of the events based on the one or more responses, wherein: the processing system implements a stateless network function; the shared state data store is located outside the multiple processing systems; and the stateless network function is one of a packet filter, a network address translator, a router, or an IPSec protocol.

12. A system comprising:

a processor; and

one or more non-transitory computer-readable media storing computing instructions that, when executed on the processor, cause the processor to perform:

receiving a batch of events at a processing system of a distributed stream processing system comprising multiple processing systems in data communication with a shared state data store;

determining, at the processing system, database operations associated with the events;

coalescing, at the processing system, the database operations into one or more speculative database operations with one or more associated reject rules, wherein the processing system stores a speculative state of at least a portion of the shared state data store, and wherein the one or more associated reject rules are based on the speculative state;

sending the one or more speculative database operations and the one or more associated reject rules from the processing system to the shared state data store to cause the shared state data store to determine whether to reject one or more of the one or more speculative database operations based on an authoritative state in the shared state data store; and

receiving, at the processing system, one or more responses from the shared state data store, wherein the one or more responses comprise one or more rejections of the one or more speculative database operations.

13. The system of claim 12 , wherein the computing instructions, when executed on the processor, further cause the processor to perform:

updating the speculative state in the processing system based on the one or more responses from the shared state data store.

14. The system of claim 12 , wherein the computing instructions, when executed on the processor, further cause the processor to perform:

rejecting one or more of the events based on the one or more responses.

15. The system of claim 12 , wherein:

the processing system implements a stateless network function; and

the shared state data store is located outside the multiple processing systems.

16. The system of claim 15 , wherein:

the stateless network function is one of a packet filter, a network address translator, a router, or an IPSec protocol.

17. The system of claim 12 , wherein the computing instructions, when executed on the processor, further cause the processor to perform: updating the speculative state in the processing system based on the one or more responses from the shared state data store; and rejecting one or more of the events based on the one or more responses, wherein: the processing system implements a stateless network function; the shared state data store is located outside the multiple processing systems; and the stateless network function is one of a packet filter, a network address translator, a router, or an IPSec protocol.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2022
From: NOLAND, DANIEL; GILL, OFER HIRSCH
To: STATELESS, INC.
Reel/Frame 059504/0169 →
Continuity (2)
Provisional Application 63169633 · Apr 1, 2021
Related Publication 20220329661A1 · Oct 13, 2022