# US 12,114,051 B2 · Verifying the rendering of video content at client devices using trusted platform modules

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,114,051 B2
- Document ID: US12114051B2
- Status: Granted
- Kind: B2
- Application number: 18/200,883
- Filed: 2023-05-23
- Published: 2023-09-21
- Granted: 2024-10-08
- Earliest claimed: 2022-06-21
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Oliver Woodman; Andrew Benedict Lewis
- Web page: https://patentgrep.com/patent/US12114051B2

## CPC

- H04N 21/8352: involving content or source identification data, e.g. Unique Material Identifier [UMID]
- G06Q 30/0242: Determining effectiveness of advertisements
- G06Q 30/0248: {Avoiding fraud}
- G06Q 30/0277: {Online advertisement}
- H04L 63/00: {Network architectures or network communication protocols for network security (cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00; network architectures or network communication protocols for wireless network security H04W12/00; security arrangements for protecting computers or computer systems against unauthorised activity G06F21/00)}
- H04N 21/23418: {involving operations for analysing video streams, e.g. detecting features or characteristics (television picture signal circuitry for scene change detection H04N5/147; filtering for image enhancement G06T5/00; methods or arrangements for recognising scenes G06V20/00; arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59)}
- H04N 21/2347: involving video stream encryption
- H04N 21/2541: {Rights Management (protecting software against unauthorised usage in a vending or licensing environment G06F21/10; security in data switching network management H04L41/28; security management or policies for network security H04L63/20; access security in wireless networks H04W12/08)}
- H04N 21/25816: {involving client authentication (restricting access to computer systems by authenticating users using a predetermined code G06F21/33; cryptographic authentication protocols H04L9/32; networks authentication protocols H04L63/08; authentication in wireless network security H04W12/06)}
- H04N 21/44008: {involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream (arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59)}
- H04N 21/4408: involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
- H04N 21/44204: {Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched (monitoring of user activities for profile generation for accessing a video database G06F16/739; protecting generic digital content where the protection is independent of the precise nature of the content G06F21/10; arrangements for monitoring the use made of the broadcast services in broadcast systems H04H60/31)}
- H04N 21/64715: {Protecting content from unauthorized alteration within the network (verifying the information received for network security in communication control or processing H04L63/12; integrity in wireless network security H04W12/10)}
- H04N 21/6581: {Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods for verifying the rendering of video content on information resources are provided herein. A server can receive, from a target client device, a tracking message purporting to relate to delivery of a target content item; determine whether the tracking message contains an identifier of a sending device that sent the tracking message; determine whether the sending device and the target client device are the same device; if the sending client device and the target client device are the same device: recover, from the tracking message, information about at least a portion of a frame of a content item processed by a trusted platform module of the client device; and compare the at least a portion of the frame of the content item processed by a trusted platform module of the client device with a target content item.

## Claims

### Claim 1

A method of verifying an identity of a client device, comprising, by a server:
receiving, from a target client device, a tracking message purporting to relate to delivery of a target content item;
determining whether the tracking message contains an identifier of a sending device that sent the tracking message;
determining whether the sending device and the target client device are the same device;
if the sending client device and the target client device are the same device:
recovering, from the tracking message, information about at least a portion of a frame of a content item processed by a trusted platform module of the client device; and
comparing the at least a portion of the frame of the content item processed by a trusted platform module of the client device with a target content item.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
disregarding the tracking message if the at least a portion of the frame of the content item processed by a trusted platform module of the client device is not included in the target content item.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining whether the tracking message was generated by the trusted platform module of the target client device; and
if the tracking message was not generated by the trusted platform module of the target client device, disregarding the tracking message.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
determining whether the frame of the content item processed by the trusted platform module of the client device is a predesignated frame selected by the server.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
estimating the computation complexity for a subset of frames of the target content item by performing a simulated processing of the target content item to estimate a computation complexity metric.

### Claim 6 (depends on 5)

The method of claim 5, wherein the computation complexity metric includes at least one of: process time, processor usage, memory usage, or power consumption.

### Claim 7 (depends on 5)

The method of claim 5, further comprising:
identifying an encoding type for each frame of the subset of frames of the target content item.

### Claim 8

A system for verifying an identity of a client device, comprising:
a data processing system having one or more processors;
a content deliverer executed on the data processing system having one or more processors, configured to receive, from a target client device, a tracking message purporting to relate to delivery of a target content item;
an identity verifier executed on the data processing system, configured to:
determine whether the tracking message contains an identifier of a sending device that sent the tracking message, and
determine whether the sending device and the target client device are the same device; and
a recovery module executed on the data processing system, configured to, if the sending client device and the target client device are the same device:
recover, from the tracking message, information about at least a portion of a frame of a content item processed by a trusted platform module of the client device; and
compare the at least a portion of the frame of the content item processed by a trusted platform module of the client device with a target content item.

### Claim 9 (depends on 8)

The system of claim 8, wherein the recovery module is further configured to:
disregard the tracking message if the at least a portion of the frame of the content item processed by a trusted platform module of the client device is not included in the target content item.

### Claim 10 (depends on 8)

The system of claim 8, the recovery module is further configured to:
determine whether the tracking message was generated by the trusted platform module of the target client device; and
if the tracking message was not generated by the trusted platform module of the target client device, disregard the tracking message.

### Claim 11 (depends on 8)

The system of claim 8, wherein the identity verifier is further configured to:
determine whether the frame of the content item processed by the trusted platform module of the client device is a predesignated frame selected by the server.

### Claim 12 (depends on 8)

The system of claim 8, the content deliverer is further configured to:
estimate the computation complexity for a subset of frames of the target content item by performing a simulated processing of the target content item to estimate a computation complexity metric.

### Claim 13 (depends on 12)

The system of claim 12, wherein the computation complexity metric includes at least one of: process time, processor usage, memory usage, or power consumption.

### Claim 14 (depends on 12)

The system of claim 12, wherein the content deliverer is further configured to:
identify an encoding type for each frame of the subset of frames of the target content item.

### Claim 15

A tangible, non-transitory computer-readable medium storing instructions for verifying an identity of a client device that, when executed by one or more processors of a data processing server, cause the data processing server to:
receive, from a target client device, a tracking message purporting to relate to delivery of a target content item;
determine whether the tracking message contains an identifier of a sending device that sent the tracking message;
determine whether the sending device and the target client device are the same device;
if the sending client device and the target client device are the same device:
recover, from the tracking message, information about at least a portion of a frame of a content item processed by a trusted platform module of the client device; and
compare the at least a portion of the frame of the content item processed by a trusted platform module of the client device with the target content item.

### Claim 16 (depends on 15)

The tangible, non-transitory computer-readable medium of claim 15, wherein the non-transitory computer-readable medium further includes instructions that, when executed by the one or more processors, cause the data processing server to:
disregard the tracking message if the at least a portion of the frame of the content item processed by a trusted platform module of the client device is not included in the target content item.

### Claim 17 (depends on 15)

The tangible, non-transitory computer-readable medium of claim 15, wherein the non-transitory computer-readable medium further includes instructions that, when executed by the one or more processors, cause the data processing server to:
determine whether the tracking message was generated by the trusted platform module of the target client device; and
if the tracking message was not generated by the trusted platform module of the target client device, disregard the tracking message.

### Claim 18 (depends on 15)

The tangible, non-transitory computer-readable medium of claim 15, wherein the non-transitory computer-readable medium further includes instructions that, when executed by the one or more processors, cause the data processing server to:
determine whether the frame of the content item processed by the trusted platform module of the client device is a predesignated frame selected by the server.

### Claim 19 (depends on 15)

The tangible, non-transitory computer-readable medium of claim 15, wherein the non-transitory computer-readable medium further includes instructions that, when executed by the one or more processors, cause the data processing server to:
estimate the computation complexity for a subset of frames of the target content item by performing a simulated processing of the target content item to estimate a computation complexity metric.

### Claim 20 (depends on 19)

The tangible, non-transitory computer-readable medium of claim 19, wherein the computation complexity metric includes at least one of: process time, processor usage, memory usage, or power consumption.
