Accurate global eventual counting
AssigneeNetflix, Inc.
InventorsVarun Khaitan, Joseph Lynch, Rajiv Shringi
Life of this patent
Estimating the term…
Abstract
In various embodiments, a computer-implemented method comprises receiving, from a first endpoint device, a first event during a first time period, modifying an event log to include a record associated with the first event, causing a rollup queue to include a request to count a first count value associated with the first event, and generating, in a second time period subsequent to the first time period, a counter value associated with at least the first event based on the rollup queue and the event log.
Claims20
A computer-implemented method, comprising:
- receiving a first event;
- modifying an event log to include a record associated with the first event;
- adding, based on the first event, a request to a queue;
- and
- generating a counter value associated with at least the first event based on the queue and the event log.
One or more non-transitory computer-readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:
- receiving, from a first endpoint device, a first event during a first time period;
- modifying an event log to include a record associated with the first event;
- causing a rollup queue to include a request to count a first count value associated with the first event;
- generating, in a second time period subsequent to the first time period, a counter value associated with at least the first event based on the rollup queue and the event log;
- determining that a threshold time period has elapsed;
- upon determining that the threshold time period has elapsed, deduplicating a set of records included in a first partition of the event log to generate a deduplicated set of records, wherein:
- the deduplicated set of records includes the record, and
- the deduplicating is based on a set of idempotency tokens;
- and
- generating an updated count value based on the deduplicated set of records, wherein the updated count vale is included in the counter value.
A system comprising:
- a memory storing a global event counter application;
- and
- a processor coupled to the memory that executes the global event counter application by performing the steps of:
- receiving, from a first endpoint device, a first event during a first time period;
- modifying an event log to include a record associated with the first event;
- causing a rollup queue to include a request to count a first count value associated with the first event;
- generating, in a second time period subsequent to the first time period, a counter value associated with at least the first event based on the rollup queue and the event log;
- determining that the request to count a first count value associated with the first event is included in the rollup queue;
- aggregating, based on the request included in the rollup queue, a set of records included in the event log to generate a count value update, wherein the set of records includes the first count value;
- and
- updating the counter value based on the count value update, wherein the counter value is stored in an event cache.
Dependencies are inferred from the claim text.