IP Library Granted Patent US 10,467,433
Granted Patent B2
US 10,467,433 · App. 15/462,369 · Granted Nov 5, 2019

Event processing system

Inventors: Lorenzo Alberton (Reading, GB); Alistair Joseph Bastian (Surrey, GB); Timothy David Budden (Henley on Thames, GB)
Assignee: Mediasift Limited
G06F21/6254G06F16/2457G06F16/90335G06Q50/01
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 10,467,433
App. No.
15/462,369
Granted
Nov 5, 2019
Kind
B2
Abstract

User events of a platform are processed to extract aggregate information about users of the platform at an event processing system. A query relating to the user events is received at the system and at least one query parameter is determined from the query. Various privacy controls are disclosed for ensuring that any information released in response to the query cannot be used to identify users individually or to infer information about individual users.

Claims (47)

1. A method of processing user events of a platform to extract aggregate information about users of the platform, the method comprising, at an event processing system:

receiving a query relating to the user events;

determining from the query at least one query parameter for each of a plurality of buckets;

for each of the plurality of buckets, applying to the user events an exact counting procedure for computing an exact count for a set of the user events satisfying the at least one query parameter for that bucket, by individually identifying and counting those user events;

generating respective error data for the exact counting procedure for each of the plurality of buckets;

using the respective generated error data for each of the plurality of buckets to introduce an artificial error in the exact counting procedure for that bucket, thereby generating, for the set of user events, an inexact bucket count for each of the plurality of buckets deviating from the exact count for that bucket by an unpredictable amount; and

responding to the query by releasing, for at least one of the buckets aggregate information comprising or derived from the inexact bucket count for that bucket, wherein the respective error data is generated unpredictably for each of the plurality of buckets individually and used to introduce the artificial error in the exact counting process for that bucket to generate the inexact bucket count for each of the buckets, whereby differing artificial errors are exhibited across the inexact bucket counts generated across the plurality of buckets.

2. A method according to claim 1 , wherein the count is a unique user count for the set of user events satisfying the at least one query parameter.

3. A method according to claim 1 , wherein the count is an event count for the set of user events satisfying the at least one query parameter.

4. A method according to claim 1 , wherein both a unique user count and an event count are generated by applying the carrying out of claim 1 .

5. A method according to claim 1 , comprising a step of quantizing the inexact bucket count, the aggregate information comprising or derived from the quantized count.

6. A method according to claim 2 , comprising a step of comparing the inexact user count to a threshold, wherein the aggregate information is released in response to determining that the inexact unique user count is no less than a minimum permitted user count indicated by the threshold.

7. A method according to claim 1 , wherein at least one overall query parameter is also determined from the query, and the exact counting procedure is also applied to generate an inexact overall count for an overall set of the user events satisfying the at least one overall query parameter, each of the buckets corresponding to a subset of the overall set.

8. A method according to claim 1 , comprising a step of quantizing each of the inexact buckets counts for release.

9. A method according to claim 1 , wherein the bucket counts are unique user counts, each of which is compared with a bucket redaction threshold, wherein any of the buckets for which the inexact unique user count is below a minimum user count indicated by the bucket redaction threshold is redacted.

10. A method according to claim 7 , wherein the overall count is an overall unique user count and the method comprises a step of comparing the overall unique user count with a gating threshold to determine whether to accept or reject the query, wherein the query is accepted in response to determining that overall unique user count is at least a minimum user count indicated by the gating threshold.

11. A method according to claim 1 , wherein each of user events is purged from the event processing system upon expiry of a retention period for that user event, whereby user events are not counted once purged.

12. A method according to claim 1 , wherein user events for users below an age threshold are not counted.

13. A method according to claim 1 , wherein each of the user events comprises an identifier of one of the platform users and the count is a unique user count generated from the user identifiers in the set of user events.

14. A method according to claim 1 , wherein the exact counting procedure comprises computing the exact count for the set of user events satisfying the at least one query parameter, and using the error data to modify the exact count once computed to generate the inexact bucket count deviating from the exact count by the unpredictable amount.

15. A method according to claim 14 , wherein the unpredictable amount is selected unpredictably from a percentage range of the exact count.

16. A method according to claim 1 , wherein the platform is a content publication platform for publishing and consuming content, the user events relating to the publication and consumption of content by the users of the content publishing platform.

17. A method of processing user events of a platform to extract aggregate information about users of the platform, the method comprising, at an event processing system:

receiving a query relating to the user events;

determining from the query at least one query parameter for each of a plurality of buckets;

for each of the plurality of buckets, computing, for a set of the user events satisfying the at least one query parameter for that bucket, an approximate unique user count with an error margin of at least two percent;

comparing the approximate unique user count for each of the plurality of buckets with a bucket redaction threshold;

applying quantization to the approximate unique user count for at least one of the plurality of buckets to generate a quantized unique user count for that bucket; and

responding to the query by releasing aggregate information comprising or derived from the quantized unique user count, wherein any of the plurality of buckets for which the approximate unique user count is below a minimum user count indicated by the bucket reduction threshold is redacted, wherein no unique user count is released for any redacted bucket.

18. A method according to claim 17 , wherein the error margin is at least three percent.

19. A method according to claim 17 , wherein the quantization has a quantization range of at least one hundred.

20. A method according to claim 17 , wherein the error margin is a consequence of introducing an artificial error into an exact counting procedure applied to the user event.

21. A method according to claim 17 , wherein the error margin is intrinsic to a probabilistic count estimation procedure applied to the user events to generate the count.

22. An event processing system comprising computer storage holding executable instructions and one or more processing units configured to execute those instructions to process user events of a platform to extract aggregate information about users of the platform by carrying out the following steps:

receiving a query relating to the user events;

determining from the query at least one query parameter for each of a plurality of buckets;

for each of the plurality of buckets, computing, for a set of the user events satisfying the at least one query parameter for that bucket, an approximate unique user count with an error margin of at least two percent;

comparing the approximate unique user count for each of the plurality of buckets with a bucket reduction threshold;

applying quantization to the approximate unique user count for at least one of the plurality of buckets to generate a quantized unique user count for that bucket; and

responding to the query by releasing aggregate information comprising or derived from the quantized unique user count, wherein any of the plurality of buckets for which the approximate unique user count is below a minimum user count indicated by the bucket reduction threshold is redacted, wherein no unique user count is released for any redacted bucket.

23. A non-transitory computer readable storage medium having stored thereon executable instructions, which are configured, when executed at an event processing system, to process user events of a platform to extract aggregate information about users of the platform by carrying out the following steps:

receiving a query relating to the user events;

determining from the query at least one query parameter for each of a plurality of buckets;

for each of the plurality of buckets, computing, for a set of the user events satisfying the at least one query parameter for that bucket, an approximate unique user count with an error margin of at least two percent;

comparing the approximate unique user count for each of the plurality of buckets with a bucket reduction threshold;

applying quantization to the approximate unique user count for at least one of the plurality of buckets to generate a quantized unique user count for that bucket; and

responding to the query by releasing aggregate information comprising or derived from the quantized unique user count, wherein any of the plurality of buckets for which the approximate unique user count is below a minimum user count indicated by the bucket reduction threshold is redacted, wherein no unique user count is released for any redacted bucket.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2024
From: MELTWATER INTERNATIONAL HOLDINGS GMBH
To: MELTWATER NEWS US INC.
Reel/Frame 067037/0163 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT Recorded Jan 3, 2024
From: MELTWATER NEWS US INC.
To: DNB BANK ASA, AS SECURITY AGENT
Reel/Frame 066159/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2019
From: MEDIASIFT LTD.
To: MELTWATER NEWS INTERNATIONAL HOLDINGS GMBH
Reel/Frame 050952/0539 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2017
From: ALBERTON, LORENZO; BASTIAN, ALISTAIR JOSEPH; BUDDEN, TIMOTHY DAVID
To: MEDIASIFT LIMITED
Reel/Frame 042345/0262 →
Continuity (1)
Related Publication 20180268166A1 · Sep 20, 2018