Event processing system
First Claim
Patent Images
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.
4 Assignments
0 Petitions
Accused Products
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.
23 Citations
23 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
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. - View Dependent Claims (18, 19, 20, 21)
-
-
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.
-
Specification