IP Library Granted Patent US 11,216,588
Granted Patent B1
US 11,216,588 · App. 16/880,889 · Granted Jan 4, 2022

Private cross-media measurement using HMAC and bloom filters

Inventors: Ran An (Mountain View, CA); Payman Mohassel (San Jose, CA); Sanjay Kanaka Sai Tirupattur Saravanan (Fremont, CA)
Assignee: Meta Platforms, Inc.
G06F21/6245G06F21/602G06F21/6227H04L9/0819H04L9/3242
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 11,216,588
App. No.
16/880,889
Granted
Jan 4, 2022
Kind
B1
Abstract

A cross-measurement system gathers data from a set of publishers to determine cross-publisher statistics about content provided on multiple online platforms associated with different publishers. The cross-measurement system receives a set of publisher-specific Bloom filters associated with content exposure of a content set by each of the multiple publishers. using the received publisher-specific Bloom filters, the cross-measurement system generates a cross-publisher Bloom filter, for example, by combining the publisher-specific Bloom filters. Then, the cross-measurement system analyzes the cross-publisher Bloom filter to determine cross-publisher statistics reflecting the content exposure of the content set across the set of publishers, such as a cross-publisher reach of the content set.

Claims (32)

1. A method comprising:

receiving, at a cross-measurement system, a set of publisher-specific Bloom filters, each publisher-specific Bloom filter comprising a combination of a hash function applied to an item of personally identifying information of each user of a cohort of users that were exposed to a content item by a particular publisher of a plurality of publishers;

generating, based on a selected set of two or more of the publisher-specific Bloom filters, a cross-publisher Bloom filter by combining the selected set of two or more of the publisher-specific Bloom filters, the cross-publisher Bloom filter containing a group of users that were exposed to the content item across any of the publishers associated with the selected set of publisher-specific Bloom filters;

determining a number of users represented by the cross-publisher Bloom filter; and

analyzing the cross-publisher Bloom filter to determine one or more cross-publisher statistics reflecting the content exposure of the content item across the plurality of publishers based on the determined number of users represented by the cross-publisher Bloom filter.

2. The method of claim 1 , further comprising:

sending, to each publisher of the plurality of publishers, a comparison key; and

wherein each of the publisher-specific Bloom filters are based on content exposure data encrypted using the comparison key.

3. The method of claim 1 , further comprising transmitting, from the cross-measurement system to a content provider associated with the content item, the one or more cross-publisher statistics.

4. The method of claim 1 , wherein each publisher-specific Bloom filter comprises a set of bits representing a set of users exposed to the content item by the publisher and the cross-publisher Bloom filter comprises a set of bits representing an combined set of users exposed to the content item by the plurality of publishers.

5. The method of claim 4 , wherein generating the cross-publisher Bloom filter comprises combining the selected set of two or more publisher-specific Bloom filters by performing a bitwise OR operation on the selected set of two or more publisher-specific Bloom filters.

6. The method of claim 4 , wherein generating the cross-publisher Bloom filter comprises combining the selected set of two or more publisher-specific Bloom filters by performing a bitwise AND operation on the selected set of two or more publisher-specific Bloom filters.

7. The method of claim 1 , wherein determining a number of users represented by the cross-publisher Bloom filter comprises estimating the cardinality of the cross-publisher Bloom filter.

8. The method of claim 7 , wherein estimating the cardinality of the cross-publisher Bloom filter comprises estimating the cardinality of the cross-publisher Bloom filter based on the density of the cross-publisher Bloom filter.

9. The method of claim 1 , wherein the cross-publisher statistics comprise a cross-publisher reach representing the total number of unique users exposed the content item by the plurality of publishers.

10. The method of claim 1 , wherein the cross-publisher statistics comprise a cross-publisher frequency representing an average number of times a user exposed to the content item was exposed to the content item across the plurality of publishers.

11. A non-transitory computer-readable storage medium comprising instructions which, when executed by a processor, cause the processor to perform the steps of:

receiving, at a cross-measurement system, a set of publisher-specific Bloom filters, each publisher-specific Bloom filter comprising a combination of a hash function applied to an item of personally identifying information of each user of a cohort of users that were exposed to a content item by a particular publisher of a plurality of publishers;

generating, based on a selected set of two or more of the publisher-specific Bloom filters, a cross-publisher Bloom filter by combining the selected set of two or more of the publisher-specific Bloom filters, the cross-publisher Bloom filter associated with exposure of the content item across the publishers associated with the selected set of publisher-specific Bloom filters;

determining a number of users represented by the cross-publisher Bloom filter; and

analyzing the cross-publisher Bloom filter to determine one or more cross-publisher statistics reflecting the content exposure of the content item across the set of publishers based on the determined number of users represented by the cross-publisher Bloom filter.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions further cause the processor to perform the steps of:

sending, to each publisher of the plurality of publishers, a comparison key; and

wherein each of the publisher-specific Bloom filters are based on content exposure data encrypted using the comparison key.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions further cause the processor to perform the step of transmitting, from the cross-measurement system to a content provider associated with the content item, the one or more cross-publisher statistics.

14. The non-transitory computer-readable storage medium of claim 11 , wherein each publisher-specific Bloom filter comprises a set of bits representing a set of users exposed to the content item by the publisher and the cross-publisher Bloom filter comprises a set of bits representing an combined set of users exposed to the content item by the plurality of publishers.

15. The non-transitory computer-readable storage medium of claim 14 , wherein generating the cross-publisher Bloom filter comprises combining the selected set of two or more publisher-specific Bloom filters by performing a bitwise OR operation on the selected set of two or more publisher-specific Bloom filters.

16. The non-transitory computer-readable storage medium of claim 14 , wherein generating the cross-publisher Bloom filter comprises combining the selected set of two or more publisher-specific Bloom filters by performing a bitwise AND operation on the selected set of two or more publisher-specific Bloom filters.

17. The non-transitory computer-readable storage medium of claim 11 , wherein determining a number of users represented by the cross-publisher Bloom filter comprises estimating the cardinality of the cross-publisher Bloom filter.

18. The non-transitory computer-readable storage medium of claim 17 , wherein estimating the cardinality of the cross-publisher Bloom filter comprises estimating the cardinality of the cross-publisher Bloom filter based on the density of the cross-publisher Bloom filter.

19. The non-transitory computer-readable storage medium of claim 11 , wherein the cross-publisher statistics comprise a cross-publisher reach representing the total number of unique users exposed the content item by the plurality of publishers.

20. The non-transitory computer-readable storage medium of claim 11 , wherein the cross-publisher statistics comprise a cross-publisher frequency representing an average number of times a user exposed to the content item was exposed to the content item across the plurality of publishers.

Assignments (2)
CHANGE OF NAME Recorded Nov 18, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058897/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2020
From: AN, RAN; MOHASSEL, PAYMAN; TIRUPATTUR SARAVANAN, SANJAY KANAKA SAI
To: FACEBOOK, INC.
Reel/Frame 052863/0346 →
Cited By (2)
US 12,554,696 US 12,602,702