IP Library › Granted Patent US 12,335,410
Granted Patent B2
US 12,335,410 · App. 18/511,465 · Granted Jun 17, 2025

Preventing data manipulation and protecting user privacy in telecommunication network measurements

Inventors: Gang Wang (Frederick, MD); Alex Daniel Jacobson (Mountain View, CA)
Assignee: Google LLC
H04L9/3257H04L9/3213H04L63/126H04M7/0078H04M2201/18
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 12,335,410
App. No.
18/511,465
Granted
Jun 17, 2025
Kind
B2
Abstract

This disclosure relates to generating telecommunication network measurements. In one aspect, a method includes presenting, by a client device, a digital component that, when interacted with, initiates a call by the client device to a phone number specified by the digital component. A trusted program stores, in a presentation event data structure, a presentation event data element specifying the phone number and resource locator for a reporting system to which reports for the digital component are sent. The trusted program detects a phone call by the client device to a given phone number. The given phone number is compared to one or more presentation event data elements stored in the presentation event data structure. A determination is made that the given phone number matches the phone number specified by the digital component. In response, an event report is transmitted to the reporting system.

Claims (59)

1. A method comprising:

receiving, from a client device, an event report indicating that a phone number specified by a digital component was called by the client device after the digital component was presented by the client device, wherein the event report comprises an attestation token comprising:

a set of data comprising:

a device public key of the client device;

an attestation token creation time indicating a time at which the attestation token was created;

a device integrity token indicating a level of trustworthiness of the client device; and

payload data comprising the phone number specified by the digital component; and

a digital signature of the set of data generated using a device private key corresponding to the device public key;

in response to receiving the event report, determining whether integrity of the attestation token is valid using the digital signature of the set of data and the device public key; and

in response to determining that the integrity of the attestation token is valid, updating one or more telecommunication network measurements for the digital component,

wherein the client device generates and sends the attestation token in response to detecting, by a trusted program of the client device, a phone call by the client device to a given phone number that matches a phone number of a presentation event data structure stored by the trusted program in response to the client device presenting a digital component that, when interacted with by a user of the client device, initiates a call by the client device to the phone number of the presentation event data structure.

2. The method of claim 1 , wherein determining whether integrity of the attestation token is valid comprises:

determining whether the attestation token creation time is within a threshold duration of a time at which the event report was received;

determining, using the device public key and the digital signature of the set of data generated using the device private key, whether the set of data was modified after the attestation token was created; and

determining that the integrity of the attestation token is valid based at least on determination that the attestation token creation time is within the threshold duration of the time at which the event report was received and a determination that the set of data has not been modified since the attestation token was created.

3. The method of claim 2 , wherein determining whether the set of data was modified after the attestation token was created comprises determining that the set of data has not been modified in response to verifying the digital signature.

4. The method of claim 1 , further comprising determining that integrity of the client device is valid based on (i) a determination that the attestation token is valid, (ii) a determination that the device integrity token is valid, and (iii) the level of trustworthiness indicated by the device integrity token.

5. The method of claim 1 , wherein the device integrity token is issued to the client device by a fraud detection system based on signals received from the client device.

6. The method of claim 1 , wherein updating the one or more telecommunication network measurements for the digital component comprises updating a count of a number of times the phone number has been called by client devices after the digital component has been presented by the client devices.

7. The method of claim 1 , wherein the payload data of the attestation token further comprises at least one of (i) a call duration of the phone call, (ii) a starting time of the phone call, or (iii) an end time of the phone call.

8. The method of claim 1 , wherein the payload data of the attestation token further comprises at least one of (i) call duration quantile to which the phone call has been assigned, (ii) a given start time quantile to which the phone call has been assigned, or (iii) an end time quantile to which the call has been assigned.

9. The method of claim 8 , wherein updating the one or more telecommunication network measurements for the digital component comprises:

assigning, based on the payload data, the phone call to a particular duration range of a plurality of duration ranges; and

updating, for the particular duration range, a count of the number of times the phone number has been called by client devices after the digital component has been presented by the client devices.

10. The method of claim 1 , further comprising, in response to determining that the integrity of the attestation token is valid, updating one or more telecommunication network measurements for the digital component, updating a count of a number of times the digital component has been presented at client devices and/or a count of a number of times users have interacted with the digital component.

11. A system, comprising:

one or more computers; and

one or more computer-readable media storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

receiving, from a client device, an event report indicating that a phone number specified by a digital component was called by the client device after the digital component was presented by the client device, wherein the event report comprises an attestation token comprising:

a set of data comprising:

a device public key of the client device;

an attestation token creation time indicating a time at which the attestation token was created;

a device integrity token indicating a level of trustworthiness of the client device; and

payload data comprising the phone number specified by the digital component; and

a digital signature of the set of data generated using a device private key corresponding to the device public key;

in response to receiving the event report, determining whether integrity of the attestation token is valid using the digital signature of the set of data and the device public key; and

in response to determining that the integrity of the attestation token is valid, updating one or more telecommunication network measurements for the digital component,

wherein the client device generates and sends the attestation token in response to detecting, by a trusted program of the client device, a phone call by the client device to a given phone number that matches a phone number of a presentation event data structure stored by the trusted program in response to the client device presenting a digital component that, when interacted with by a user of the client device, initiates a call by the client device to the phone number of the presentation event data structure.

12. The system of claim 11 , wherein determining whether integrity of the attestation token is valid comprises:

determining whether the attestation token creation time is within a threshold duration of a time at which the event report was received;

determining, using the device public key and the digital signature of the set of data generated using the device private key, whether the set of data was modified after the attestation token was created; and

determining that the integrity of the attestation token is valid based at least on determination that the attestation token creation time is within the threshold duration of the time at which the event report was received and a determination that the set of data has not been modified since the attestation token was created.

13. The system of claim 12 , wherein determining whether the set of data was modified after the attestation token was created comprises determining that the set of data has not been modified in response to verifying the digital signature.

14. The system of claim 11 , wherein the operations comprise determining that integrity of the client device is valid based on (i) a determination that the attestation token is valid, (ii) a determination that the device integrity token is valid, and (iii) the level of trustworthiness indicated by the device integrity token.

15. The system of claim 11 , wherein the device integrity token is issued to the client device by a fraud detection system based on signals received from the client device.

16. The system of claim 11 , wherein updating the one or more telecommunication network measurements for the digital component comprises updating a count of a number of times the phone number has been called by client devices after the digital component has been presented by the client devices.

17. The system of claim 11 , wherein the payload data of the attestation token further comprises at least one of (i) a call duration of the phone call, (ii) a starting time of the phone call, or (iii) an end time of the phone call.

18. The system of claim 11 , wherein the payload data of the attestation token further comprises at least one of (i) call duration quantile to which the phone call has been assigned, (ii) a given start time quantile to which the phone call has been assigned, or (iii) an end time quantile to which the call has been assigned.

19. One or more non-transitory computer-readable media storing instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

receiving, from a client device, an event report indicating that a phone number specified by a digital component was called by the client device after the digital component was presented by the client device, wherein the event report comprises an attestation token comprising:

a set of data comprising:

a device public key of the client device;

an attestation token creation time indicating a time at which the attestation token was created;

a device integrity token indicating a level of trustworthiness of the client device; and

payload data comprising the phone number specified by the digital component; and

a digital signature of the set of data generated using a device private key corresponding to the device public key;

in response to receiving the event report, determining whether integrity of the attestation token is valid using the digital signature of the set of data and the device public key; and

in response to determining that the integrity of the attestation token is valid, updating one or more telecommunication network measurements for the digital component,

wherein the client device generates and sends the attestation token in response to detecting, by a trusted program of the client device, a phone call by the client device to a given phone number that matches a phone number of a presentation event data structure stored by the trusted program in response to the client device presenting a digital component that, when interacted with by a user of the client device, initiates a call by the client device to the phone number of the presentation event data structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2023
From: WANG, GANG; JACOBSON, ALEX DANIEL
To: GOOGLE LLC
Reel/Frame 065621/0201 →
Continuity (2)
Continuation 17423579
Related Publication 20240089119A1 · Mar 14, 2024
References Cited (55)
US 8732010B1 · Parikh et al. · 2014 [cited by applicant]
US 8838784B1 · Kalavade · 2014 [cited by applicant]
US 9781149B1 · Himler et al. · 2017 [cited by applicant]
US 10149156B1 · Tiku · 2018 [cited by examiner]
US 11005839B1 · Shahidzadeh et al. · 2021 [cited by applicant]
US 20070038516A1 · Apple et al. · 2007 [cited by applicant]
US 20120002795A1 · Berk · 2012 [cited by applicant]
US 20120036006A1 · Mauro · 2012 [cited by applicant]
US 20150078544A1 · Sylvain · 2015 [cited by applicant]
US 20150089568A1 · Sprague et al. · 2015 [cited by applicant]
US 20160005087A1 · Altberg et al. · 2016 [cited by applicant]
US 20160021255A1 · Weldon · 2016 [cited by applicant]
US 20160180410A1 · Agrawal et al. · 2016 [cited by applicant]
US 20170142108A1 · Zhang · 2017 [cited by examiner]
US 20170237801A1 · Baluja · 2017 [cited by examiner]
US 20170264443A1 · Tu · 2017 [cited by examiner]
US 20170270569A1 · Altberg et al. · 2017 [cited by applicant]
US 20180012294A1 · Altberg et al. · 2018 [cited by applicant]
US 20180114000A1 · Taylor · 2018 [cited by examiner]
US 20180241884A1 · Converse · 2018 [cited by examiner]
US 20180375877A1 · Jakobsson et al. · 2018 [cited by applicant]
US 20190036889A1 · Scheinuk · 2019 [cited by applicant]
US 20190141026A1 · Kshirsagar · 2019 [cited by examiner]
US 20190320065A1 · Valentine et al. · 2019 [cited by applicant]
US 20200028690A1 · Barakat et al. · 2020 [cited by applicant]
US 20200074499A1 · Liu et al. · 2020 [cited by applicant]
US 20200342459A1 · Boyle · 2020 [cited by examiner]
US 20220414714A1 · Maher · 2022 [cited by applicant]
CN 102170622 · 2011 [cited by applicant]
CN 107851267 · 2018 [cited by applicant]
CN 108702368 · 2018 [cited by applicant]
JP 200124774 · 2001 [cited by applicant]
JP 200244229 · 2002 [cited by applicant]
JP 2014203464 · 2014 [cited by applicant]
JP 2016122262 · 2016 [cited by applicant]
JP 2017208662 · 2017 [cited by applicant]
JP 2019009485 · 2019 [cited by applicant]
JP 2019530990 · 2019 [cited by applicant]
KR 100721848 · 2007 [cited by applicant]
KR 1020140075562 · 2014 [cited by applicant]
KR 1020180089564 · 2018 [cited by applicant]
WO WO2018125068 · 2018 [cited by applicant]
Barnes et al., “An Extension to the Session Initiation Protocol (SIP) for Request History Information draft-ietf-sipcore-rfc4244bis-00.txt” Network Working Group, RFC 4244, Feb. 13, 2010, 61 pages. [cited by applicant]
Extended European Search Report in European Appln. No. 24156108.3, mailed on Feb. 27, 2024, 8 pages. [cited by applicant]
GitHub.com [online], “conversion-measurement-api/AGGREGATE.md,” Aug. 2019, retrieved on Jul. 19, 2021, retrieved from URL<https://github.com/WICG/conversion-measurement-api/blob/main/README.md#conversion-registration>, … [cited by applicant]
GitHub.com [online], “conversion-measurement-api/README.md,” Jul. 2020, retrieved on Jul. 19, 2021, retrieved from URL<https://github.com/WICG/conversion-measurement-api/blob/main/README.md#conversion-registration>, 3 p… [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2020/033739, mailed on Dec. 1, 2022, 7 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2020/033739, mailed on Jan. 20, 2021, 12 pages. [cited by applicant]
Notice of Allowance in Chinese Appln. No. 202080011446.8, mailed on Sep. 20, 2023, 9 pages (with English translation). [cited by applicant]
Notice of Allowance in European Appln. No. 20731338.8, mailed on Feb. 20, 2023, 9 pages. [cited by applicant]
Notice of Allowance in Japanese Appln. No. 2021-544220, mailed on May 30, 2022, 5 pages (with English translation). [cited by applicant]
Notice of Allowance in Korean Appln. No. 10-2021-7023852, mailed on Jun. 20, 2023, 4 pages (with English translation). [cited by applicant]
Office Action in India Appln. No. 202127031223, mailed on Dec. 23, 2022, 6 pages (with English translation). [cited by applicant]
Office Action in Korean Appln. No. 10-2021-7023852, mailed on Dec. 19, 2022, 12 pages (with English translation). [cited by applicant]
Shaohong Li, “Large-Scale Measurement of Real-Time Communication on the Web,” Master's Thesis for Communications Engineering, AALTO University, Dec. 2017, 60 pages. [cited by applicant]