IP Library Granted Patent US 12,242,899
Granted Patent B2
US 12,242,899 · App. 18/492,355 · Granted Mar 4, 2025

Event processing in a distributed computing environment

Inventors: Paul Butterworth (Alamo, CA); Jacob Schmitz (Oakland, CA); Daphne Nhuch (Tiburon, CA)
Assignee: VANTIQ, INC.
G06F9/5072H04L45/02H04L45/123H04L41/0806H04L67/12
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,242,899
App. No.
18/492,355
Granted
Mar 4, 2025
Kind
B2
Abstract

A method distributes event processing in a distributed computing environment by storing transmission costs between computational node pairs, determining a low-cost route to deliver events from producers to consumers based on the costs, applying an augmentation to events via the low-cost route to generate augmented events, and delivering the augmented events to consumers via the low-cost route. Specifically, the method involves storing transmission costs between each of multiple computational node pairs in the distributed environment, where nodes comprise event producers and consumers. A low-cost route is determined to deliver a detected event from a producer to a consumer based on the stored costs. An augmentation is applied to the event via the low-cost route to generate an augmented event. The augmented event is then delivered to the consumer via the same low-cost route.

Claims (47)

1. A method to distribute event processing in a distributed computing environment, the method comprising:

storing transmission costs between each of a plurality of pairs of computational nodes of a plurality of computational nodes in the distributed computing environment, the plurality of computational nodes comprising event producers and event consumers;

determining a low-cost route to deliver an event detected at an event producer to an event consumer based on the transmission costs;

applying, via the low-cost route, an augmentation to the event to generate an augmented event; and

delivering, via the low-cost route, the augmented event to the event consumer.

2. The method of claim 1 , wherein determining the low-cost route comprises:

determining a direct route between the event producer and the event consumer;

comparing a cost of the direct route to a threshold; and

in response to the cost of the direct route transgressing the threshold, determining a route comprising a node intermediate to the event producer and the event consumer, a cost of the route being lower than the cost of the direct route, the cost of the route being based on transmission cost between the event producer and intermediate node and transmission cost between the intermediate node and the event consumer.

3. The method of claim 1 , further comprising generating an event consumer cohort, the event consumer cohort comprising a first event consumer and a second event consumer, a transmission cost between the first event consumer and the second event consumer being below a threshold.

4. The method of claim 3 , further comprising:

provisioning an event consolidator on a node of the plurality of computational nodes with a lowest total transmission cost to the event consumer cohort, total transmission costs to be computed based on transmission costs between the node and each of the event consumers in the event consumer cohort; and

configuring the event consolidator to receive the event from the event producer and deliver the event to members of the event consumer cohort.

5. The method of claim 1 , further comprising instantiating a plurality of mesh agents that are provisioned to support applying the augmentation to the event using the plurality of computational nodes within the distributed computing environment.

6. The method of claim 5 , further comprising deploying the plurality of mesh agents as a full mesh network or a partial mesh network among the plurality of computational nodes.

7. The method of claim 1 , wherein the distributed computing environment comprises a plurality of networks and the method further comprises identifying the low-cost route across the plurality of networks.

8. The method of claim 1 , wherein the augmentation comprises at least one transformation, filtering, correlation, contextualization or analytics operation.

9. The method of claim 1 , wherein:

the event is associated with a unique identifier, at least one event producer of the event, and at least one event consumer of the event; and

the event producers and the event consumers are associated with locations corresponding to computational nodes of the plurality of computational nodes.

10. The method of claim 9 , wherein the method further stores event consolidator information with respect to the event producers and the event consumers.

11. The method of claim 8 , wherein the augmentation has a location dependency, the location dependency restricting the augmentation to a respective specified node of the plurality of computational nodes.

12. The method of claim 6 , wherein the deploying of the plurality of mesh agents comprises using augmentation provisioning rules to determine locations corresponding to computational nodes for selected mesh agents of the plurality of mesh agents within the full mesh network or the partial mesh network to perform augmentations of events.

13. The method of claim 12 , wherein the augmentations are performed based on rule sets, and the use of the augmentation provisioning rules comprises provisioning the rule sets to the determined locations for the selected mesh agents of the plurality of mesh agents.

14. The method of claim 13 , further comprising routing of events within the distributed computing environment based on the rule sets.

15. The method of claim 13 , comprising creating configuration data for each of the plurality of computational nodes, the configuration data containing a specific rule set of the rule sets to be provisioned to a specific node.

16. The method of claim 1 , wherein applying the augmentation to the event comprises:

determining the augmentation is associated with the event producer and that the augmentation has no location restrictions; and

assigning the augmentation to a node of the plurality of computational nodes corresponding to a location of the event producer.

17. The method of claim 1 , wherein applying the augmentation to the event comprises:

determining the augmentation is associated with the event consumer and that the augmentation has no location restrictions; and

assigning the augmentation to a node of the plurality of computational nodes corresponding to a location of the event consumer.

18. The method of claim 1 , wherein applying the augmentation to the event comprises:

determining that the augmentation has a location restriction indicating a restriction on applying the augmentation; and

selecting a node along the low-cost route for applying the augmentation to the event based on determining that the node satisfies the restriction.

19. A system comprising:

one or more processors; and

a non-transitory computer readable storage medium comprising instructions that when executed by the one or more processors cause the one or more processors to perform operations comprising:

storing transmission costs between each of a plurality of pairs of computational nodes of a plurality of computational nodes in a distributed computing environment, the plurality of computational nodes comprising event producers and event consumers;

determining a low-cost route to deliver an event detected at an event producer to an event consumer based on the transmission costs;

applying, via the low-cost route, an augmentation to the event to generate an augmented event; and

delivering, via the low-cost route, the augmented event to the event consumer.

20. A machine-readable non-transitory storage medium having instruction data executable by a machine to cause the machine to perform operations comprising:

storing transmission costs between each of a plurality of pairs of computational nodes of a plurality of computational nodes in a distributed computing environment, the plurality of computational nodes comprising event producers and event consumers;

determining a low-cost route to deliver an event detected at an event producer to an event consumer based on the transmission costs;

applying, via the low-cost route, an augmentation to the event to generate an augmented event; and

delivering, via the low-cost route, the augmented event to the event consumer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2023
From: BUTTERWORTH, PAUL; SCHMITZ, JACOB; NHUCH, DAPHNE
To: VANTIQ, INC.
Reel/Frame 065311/0938 →
Continuity (4)
Continuation 17319873
Provisional Application 62760902 · Nov 13, 2018
Provisional Application 62768742 · Nov 16, 2018
Related Publication 20240045732A1 · Feb 8, 2024
References Cited (53)
US 5457797A · Butterworth et al. · 1995 [cited by applicant]
US 6021443A · Bracho et al. · 2000 [cited by applicant]
US 7549153B2 · Butterworth et al. · 2009 [cited by applicant]
US 8424005B2 · Strom · 2013 [cited by examiner]
US 9258765B1 · Dacosta · 2016 [cited by applicant]
US 11614975B2 · Butterworth et al. · 2023 [cited by applicant]
US 11829801B2 · Butterworth et al. · 2023 [cited by applicant]
US 20040133656A1 · Butterworth et al. · 2004 [cited by applicant]
US 20050216498A1 · Georgalas et al. · 2005 [cited by applicant]
US 20050249215A1 · Kelsey et al. · 2005 [cited by applicant]
US 20090187635A1 · Lobban et al. · 2009 [cited by applicant]
US 20090259769A1 · Lakshmanan et al. · 2009 [cited by applicant]
US 20100205187A1 · Bertagna · 2010 [cited by applicant]
US 20150334019A1 · Saito et al. · 2015 [cited by applicant]
US 20160134539A1 · Hui et al. · 2016 [cited by applicant]
US 20180284757A1 · Cella et al. · 2018 [cited by applicant]
US 20190165964A1 · Bartier et al. · 2019 [cited by applicant]
US 20210271522A1 · Butterworth et al. · 2021 [cited by applicant]
US 20220075662A1 · Butterworth et al. · 2022 [cited by applicant]
EP 0926922A2 · 1999 [cited by applicant]
EP 0926922 · 2011 [cited by applicant]
JP 2007306442A · 2007 [cited by applicant]
JP 2007538313A · 2007 [cited by applicant]
JP 2015095176A · 2015 [cited by applicant]
JP 2022510569A · 2022 [cited by applicant]
JP 7483703 · 2024 [cited by applicant]
WO WO2020102218A1 · 2020 [cited by applicant]
“U.S. Appl. No. 17/319,873, Corrected Notice of Allowability mailed Aug. 18, 2023”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 17/319,873, Non Final Office Action mailed May 10, 2023”, 18 pgs. [cited by applicant]
“U.S. Appl. No. 17/319,873, Notice of Allowance mailed Jul. 17, 2023”, 5 pgs. [cited by applicant]
“U.S. Appl. No. 17/319,873, Response filed Jun. 23, 2023 to Non Final Office Action mailed May 10, 2023”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 17/320,160, Examiner Interview Summary mailed Jul. 5, 2022”, 3 pgs. [cited by applicant]
“U.S. Appl. No. 17/320,160, Final Office Action mailed Oct. 26, 2022”, 26 pgs. [cited by applicant]
“U.S. Appl. No. 17/320,160, Final Office Action mailed Nov. 1, 2021”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 17/320,160, Non Final Office Action mailed May 6, 2022”, 22 pgs. [cited by applicant]
“U.S. Appl. No. 17/320,160, Non Final Office Action mailed Jul. 9, 2021”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 17/320,160, Notice of Allowance mailed Jan. 31, 2023”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 17/320,160, Preliminary Amendment filed Jun. 18, 2021”, 6 pgs. [cited by applicant]
“U.S. Appl. No. 17/320,160, PTO Response to Rule 312 Communication mailed Feb. 17, 2023”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 17/320,160, Response filed Mar. 1, 2022 to Final Office Action mailed Nov. 1, 2021”, 13 pgs. [cited by applicant]
“U.S. Appl. No. 17/320,160, Response filed Oct. 6, 2022 to Non Final Office Action mailed May 6, 2022”, 15 pgs. [cited by applicant]
“U.S. Appl. No. 17/320,160, Response filed Oct. 12, 2021 to Non Final Office Action mailed Jul. 9, 2021”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 17/320,160, Response filed Dec. 15, 2022 to Final Office Action mailed Oct. 26, 2022”, 16 pgs. [cited by applicant]
“European Application Serial No. 19836195.8, Response Filed Apr. 6, 2022 to Response to Communication pursuant to Rules 161(1) and 162 EPC Filed Jun. 25, 2021”, 11 pgs. [cited by applicant]
“International Application Serial No. PCT/US2019/060959, International Preliminary Report on Patentability mailed Mar. 15, 2021”, 15 pgs. [cited by applicant]
“International Application Serial No. PCT/US2019/060959, International Search Report mailed Mar. 13, 2020”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT/US2019/060959, Written Opinion mailed Mar. 13, 2020”, 7 pgs. [cited by applicant]
“Japanese Application Serial No. 2021-526455, Notification of Reasons for Refusal mailed Oct. 3, 2023”, with machine English translation, 6 pages. [cited by applicant]
“European Application Serial No. 19836195.8, Communication Pursuant to Article 94(3) EPC mailed May 27, 2024”, 12 pages. [cited by applicant]
“U.S. Appl. No. 17/319,873, Corrected Notice of Allowability mailed Oct. 26, 2023”, 2 pgs. [cited by applicant]
“Japanese Application Serial No. 2021-526455, Response filed Dec. 27, 2023 to Notification of Reasons for Refusal mailed Oct. 3, 2023”, with English claims, 15 pages. [cited by applicant]
U.S. Appl. No. 17/319,873, filed May 13, 2021, Mesh Agents for Distributed Computing (as amended). [cited by applicant]
U.S. Appl. No. 17/320,160 U.S. Pat. No. 11,614,975, filed May 13, 2021, Mesh-Based Event Broker for Distributed Computing. [cited by applicant]