US 12,293,183 B2
Client-side enrichment and transformation via dynamic logic for analytics
Osama Khan, Vancouver (CA); Brandon Sneed, Oregon City, OR (US); Mark Hazlett, North Vancouver (CA); Prateek Srivastava, Vancouver (CA); Chris Sperandio, San Francisco, CA (US); Ilya Volodarsky, San Francisco, CA (US); Tony Xiao, San Francisco, CA (US); Fathy Boundjadj, Villeneuve-sur-Lot (FR); and Peter Richmond, Sunnyvale, CA (US)
Assigned to Twilio Inc., San Francisco, CA (US)
Filed by Twilio Inc., San Francisco, CA (US)
Filed on May 10, 2022, as Appl. No. 17/662,759.
Application 17/662,759 is a continuation of application No. 16/921,690, filed on Jul. 6, 2020.
Application 16/921,690 is a continuation of application No. 16/912,668, filed on Jun. 25, 2020.
Prior Publication US 2022/0269505 A1, Aug. 25, 2022
Int. Cl. G06F 8/76 (2018.01); G06F 8/33 (2018.01); G06F 8/60 (2018.01); G06F 9/54 (2006.01); G06F 11/36 (2006.01); G06F 11/3604 (2025.01); G06F 11/362 (2025.01); G06F 21/62 (2013.01)
CPC G06F 8/76 (2013.01) [G06F 8/33 (2013.01); G06F 8/60 (2013.01); G06F 9/547 (2013.01); G06F 11/3612 (2013.01); G06F 11/3624 (2013.01); G06F 11/3644 (2013.01); G06F 11/366 (2013.01); G06F 21/6254 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
one or more computer processors;
one or more computer memories; and
a set of instructions incorporated into the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations, the operations comprising:
accessing a data set from a buffer on a client device, the data set representing one or more signals of the client device, the client device including a collection module, an orchestrator module, the buffer, and a tracking plan monitor, the collection module capturing one or more user actions and passing the one or more user actions to the buffer as the one or more signals of the client device;
qualifying, using the tracking plan monitor, the one or more signals as one or more events, the qualifying including passing the one or more signals through a filter logic, the filter logic being configured to qualify the one or more signals as the one or more events based on a value or relevancy of one or more data points included in the one or more signals, the filter logic having been developed outside of a client application of the client device and loaded into the client application without rebuilding the client application, the orchestrator module keeping the client device in synchronization with a developer console for a latest version of the filter logic; and
passing the one or more events through a chain of middleware built into an analytics library to enrich the one or more events, each middleware in the chain of middleware including a function runtime, the function runtime providing an operating environment in which an edge function is implemented within each middleware.