Integrating security watermarks into content

By integrating image watermarks into content, client devices can detect and report consumption data, solving the problem of content providers struggling to accurately collect user behavior and achieving more efficient resource utilization and optimized user experience.

CN115244942BActive Publication Date: 2026-02-24GOOGLE LLC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202080076096.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-30
Publication Date
2026-02-24
Estimated Expiration
2040-11-30

AI Technical Summary

Technical Problem

In existing technologies, content providers struggle to accurately and reliably collect and analyze user consumption data, leading to resource waste and poor user experience.

Method used

By integrating image watermarks into content, client devices can detect and execute specified actions, directly reporting consumption data to content providers to ensure data integrity and accuracy.

Benefits of technology

It improves the accuracy and reliability of data collection on user behavior by content providers, reduces resource waste, optimizes content distribution decisions, and enhances user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115244942B_ABST
    Figure CN115244942B_ABST
Patent Text Reader

Abstract

A method includes receiving, by a content server comprising one or more processors, one or more characteristics of a particular content delivery opportunity from a client device, obtaining, by the content server, a watermarked digital component that utilizes watermark shorthand, the watermark representing (i) a payload that triggers an action by a client device that detects the watermark and (ii) a reporting location that a client device contacts in response to detecting the watermark, generating, by the content server, combined content by combining the watermarked digital component with content from a different source than a source of the digital component, and providing, by the content server, the combined content to the client device.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND

[0001] This specification relates to tags that are integrated into content and cause a device to perform a specified action when received. SUMMARY

[0002] In general, one innovative aspect of the subject matter described in this specification can be embodied in methods that include receiving, by a content server that includes one or more processors, one or more characteristics of a particular content delivery opportunity from a client device, obtaining, by the content server, a watermarked digital component that utilizes watermark shorthand, the watermark representing (i) a payload that triggers an action by a client device that detects the watermark and (ii) a reporting location that is contacted by a client device in response to detecting the watermark, generating, by the content server, combined content by combining the watermarked digital component with content from a different source than a source of the digital component, and providing, by the content server, the combined content to the client device. Other implementations of this aspect include corresponding apparatuses, systems, and computer programs configured to perform the aspects of the methods encoded on computer storage devices.

[0003] These and other implementations can each optionally include one or more of the following features. In some aspects, generating the combined content includes integrating the watermarked digital component into the content at a specified location within the content.

[0004] In some aspects, the content is a video stream, and integrating the watermarked digital component into the content includes splicing the watermarked digital component into the video stream at the specified location as a playback location.

[0005] In some aspects, integrating the watermarked digital component into the content includes integrating the watermarked digital component into one of: a stream audio, a stream video, game content, or an image.

[0006] In some aspects, the destination location is a uniform resource locator (URL) that is contacted by the client device in response to the client device detecting the watermark, and transmitting at least a portion of the payload data to the URL in response to the client device detecting the watermark.

[0007] In some aspects, a given portion of the payload is cryptographically signed, and the cryptographically signed given portion of the payload is transmitted to the URL along with data that causes display of the watermarked digital component.

[0008] In some aspects, the content server is configured to remove embedded scripts from the received digital components, and the watermark has a form that prevents the content server from removing the watermark from the watermarked digital components.

[0009] In networked environments such as the Internet, first-party content providers can deliver information for presentation in electronic documents such as web pages or application interfaces. These documents can include content provided by both first-party and third-party content providers.

[0010] Various technologies can be used to add third-party content to electronic documents. Some documents include tags that instruct the client computer presenting the document to request third-party content items directly from the third-party content provider. Other documents include tags that instruct the client computer to invoke intermediary services that work with multiple third-party content providers. In some cases, third-party content items are dynamically selected for presentation in the electronic document, and the specific third-party content items selected for a given provider of the document may differ from those selected for other providers of the same document. Tags can also instruct the client computer to perform operations such as measuring specific metrics.

[0011] This tag can be used to measure factors such as whether content is delivered, whether content is visible, and how long content is visible, among others. This information is valuable for content providers to improve their content and enhance user experience. Additionally, this information can be used to improve system efficiency by allowing content providers to suppress the presentation of content to users who are unlikely to be interested in it, thereby reducing data transmission over the network and associated infrastructure overhead.

[0012] In some cases, these measurements can be performed by the system that publishes, delivers, or distributes content, and content providers rely on this measurement data to improve the user experience for users on the receiving client computers. However, when content publishers perform these measurements, they can be inaccurate, inconsistent, and unreliable, while providing the appearance of fully tracked and measured content delivery. Furthermore, some content publishers do not perform measurements or collect information or signals from the receiving client computers at all, and cannot guarantee or even determine whether users on the client computers have consumed or engaged with the content after it has been delivered. Without these signals, content providers and content delivery platforms lose valuable information such as the visibility, audibility, and effectiveness of the business, as well as other metrics that influence content distribution decisions, including whether a content provider distributes content to a client computer and what content is distributed to that client computer.

[0013] In some cases, when tags are provided to content publishers for delivery with the content, the tags may not be delivered, or they may be removed before the content is delivered to the client computer. In fact, if tags are not delivered to the end user's client computer along with the content, some methods used for measuring information may be rendered inoperable.

[0014] The following description discusses various technologies and systems for improving the accuracy and reliability of measurements requested by content providers. Because current measurement technologies require the collaboration of content distribution systems, content providers are limited to measurements performed by the distribution system, and these measurements may be inaccurate or unusable for the content provider's purposes. By including a watermark that causes the receiving client computer to perform a specified measurement, the proposed system allows content providers to request specific data tailored to their needs and can reduce the amount of data collected and transmitted.

[0015] Furthermore, using these measurement signals to identify and select additional digital content can prevent the distribution of inappropriate or unwanted content, thereby reducing wasted resources. This method reduces the amount of resources spent distributing content that is unlikely to be viewed or wanted and should not be distributed, and delivers content more efficiently over the network—preventing the distribution of content to entities that do not actually consume (listen to and / or watch) the content. In other words, computational resources such as network bandwidth, processor cycles, and / or allocated memory are not wasted by using these resources to allocate content that should not be distributed.

[0016] Details of one or more embodiments of this subject matter are set forth in the accompanying drawings and the following description. Other features, aspects, and advantages of this subject matter will become apparent from the description, drawings, and claims. Attached Figure Description

[0017] Figure 1 This is a block diagram of an example environment for improving data integrity by integrating image watermarks into content delivered to user devices.

[0018] Figure 2 Describes a data flow that improves data integrity by integrating image watermarks into the content.

[0019] Figure 3 This is a flowchart illustrating an example process of integrating an image watermark into content.

[0020] Figure 4 This is a block diagram of an example computer system.

[0021] In the various figures, the same reference numerals and names indicate the same elements. Detailed Implementation

[0022] The process of selecting and delivering digital components and content can be quantified by including tags to be delivered along with the digital components and content. When a publisher or Supply-Side Platform (SSP) issues a server-side request for a digital component, the platform needs to pass certain client header fields indicating selection criteria to ensure that the systems participating in the content selection process meet the distribution parameters and constraints defined by the participating content providers and publishers. One or more exchanges participating in each return a set of one or more selection criteria for candidate digital components. The SSP selects a selection criterion from this set and sends a selection notification to the exchange. The exchange then provides the selection notification to the content provider, who returns a link to their digital component stored on their digital component server. The SSP can then provide the digital component and the requested content to the client device.

[0023] However, this approach to measuring signals and characteristics important to content providers in improving their supply and user experience relies on the content distribution system to reliably forward tags selected and provided by the content provider. In some instances, if tags are not forwarded to end users along with the digital components and content, metrics collected solely by the content publisher will be provided to the content creator or provider. This can result in irrelevant data, or in some instances, no data as feedback being provided to the content creator. In systems that rely on the content publisher to perform measurements and collect data, the type and amount of feedback available to the content creator depends entirely on the content publisher.

[0024] The systems and methods described below provide content creators with the opportunity to directly transmit instructions to the client in a manner that does not cause the publisher-side server to remove the instructions, is resilient to interference from the publisher-side server or other intermediaries, and allows the media player running on the client device to recognize and act upon the instructions. In practice, while content publishers and publisher-side servers are able to execute, strip, or otherwise modify instructions beyond those provided for presentation with the requested digital content, they must maintain the integrity of the digital components themselves.

[0025] Throughout this document, users (such as end users, content creators or providers, and other types of users) can be given control over whether and when the systems, programs, or features described herein can collect user information (e.g., information about a user's social networks, social actions or activities, occupation, user preferences, or user's current location) and whether to send content or communications from the server to the user. Additionally, some data may be processed in one or more ways before it is stored or used, resulting in the removal of personally identifiable information. For example, a user's identity may be processed so that personally identifiable information cannot be determined for the user, or a user's geographic location may be generalized (e.g., down to the city, zip code, or state level) if location information is available, making it impossible to determine the user's specific location. Therefore, users can control what information about themselves is collected, how that information is used, and what information is provided to them.

[0026] Figure 1 This is a block diagram of an example environment 100 for improving data integrity by integrating image watermarking into content delivered to user devices. Example environment 100 includes a network 102, such as a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof. Network 102 connects an electronic document server 104 (“Electronic Document Server”), user devices 106, a digital component distribution system 110 (also known as DCDS 110), a switch 140, and third-party devices 150. Example environment 100 may include many different electronic document servers 104, user devices 106, switches 140, and third-party devices 150.

[0027] User equipment 106 is an electronic device capable of requesting and receiving resources (e.g., electronic documents) via network 102. Example user equipment 106 includes personal computers, wearable devices, smart speakers, tablet devices, mobile communication devices (e.g., smartphones), smart appliances, and other devices that can send and receive data via network 102. In some embodiments, the user equipment may include a speaker that outputs audible information to a user, and a microphone that receives audible input from the user (e.g., spoken text input). The user equipment may also include a digital assistant that provides an interactive voice interface for submitting input and / or receiving output in response to input. The user equipment may also include a display for presenting visual information (e.g., text, images, and / or video). User equipment 106 typically includes user applications such as web browsers to facilitate sending and receiving data via network 102, but native applications executed by user equipment 106 may also facilitate sending and receiving data via network 102.

[0028] User equipment 106 includes software such as a browser or operating system. In some embodiments, the software allows users to access information via a network such as network 102, retrieve information from a server, and display information on the display of user equipment 106. In some embodiments, the software manages the hardware and software resources of user equipment 106 and provides public services to other programs on user equipment 106. The software may act as an intermediary between programs and the hardware of user equipment 106.

[0029] An electronic document is data that presents a collection of content at user device 106. Examples of electronic documents include web pages, word processing documents, portable document format (PDF) documents, images, videos, search results pages, and feeds. Native applications (e.g., "apps") such as those installed on mobile computing devices, tablet computing devices, or desktop computing devices are also examples of electronic documents. Electronic document 105 ("electronic document") may be provided to user device 106 by electronic document server 104. For example, electronic document server 104 may include a server hosting a publisher's website. In this example, user device 106 may initiate a request for a given publisher's web page, and electronic document server 104 hosting the given publisher's web page may respond to the request by sending machine hypertext markup language (HTML) code that initiates the rendering of the given web page at user device 106.

[0030] Electronic documents can include a variety of content. For example, electronic document 105 can include static content (e.g., text or other specified content) that is inherent in the electronic document itself and / or does not change over time. Electronic documents can also include dynamic content that can change over time or based on each request. For example, the publisher of a given electronic document may maintain a data source for populating portions of the electronic document. In this example, a given electronic document may include tags or scripts that, when the given electronic document is processed (e.g., rendered or executed) by user device 106, cause user device 106 to request content from the data source. User device 106 integrates the content obtained from the data source into the presentation of the given electronic document to create a composite electronic document that includes content obtained from the data source. The media content referred to herein is a type of digital content.

[0031] In some cases, a given electronic document may include a digital content tag or digital content script referencing DCDS 110. In these cases, when user equipment 106 processes the given electronic document, user equipment 106 executes the digital content tag or digital content script. Execution of the digital content tag or digital content script configures user equipment 106 to generate a request 108 for digital content, which is transmitted to DCDS 110 via network 102. For example, the digital content tag or digital content script may enable user equipment 106 to generate a packetized data request that includes header and payload data. Request 108 may include data such as the name (or network location) of the server from which the digital content is requested, the name (or network location) of the requesting device (e.g., user equipment 106), and / or information that DCDS 110 can use to select the digital content provided in response to the request. Request 108 is transmitted by user equipment 106 to the server of DCDS 110 via network 102 (e.g., a telecommunications network).

[0032] Request 108 may include data specifying the characteristics of an electronic document and a location where digital content can be presented. For example, data may be provided to DCDS 110 specifying references (e.g., URLs) to an electronic document (e.g., a webpage) that will present digital content, available locations within the electronic document for presenting digital content (e.g., digital content slots), the size of the available locations, the location of the available locations within an instance of the electronic document, and / or the types of media eligible to be presented in the location. Similarly, data specifying keywords (“document keywords”) assigned for selecting an electronic document or entities (e.g., people, places, or things) referenced by the electronic document may also be included in Request 108 (e.g., as payload data) and provided to DCDS 110 to facilitate the identification of digital content items eligible to be presented with the electronic document.

[0033] Request 108 may also include data related to other information, such as information already provided by the user, geographic information indicating the state or region where the request was submitted, or other information about the context in which the digital content will be displayed (e.g., the type of device on which the digital content will be displayed, such as a mobile device or tablet). The information provided by the user may include demographic data of the user of user device 106. For example, demographic information may include age, gender, geographic location, education level, marital status, household income, occupation, hobbies, social media data, and other characteristics such as whether the user possesses specific items.

[0034] Request 108 may also provide data specifying the characteristics of user equipment 106, such as the model of user equipment 106, the configuration of user equipment 106, or the size (e.g., physical size or resolution) of the electronic display (e.g., touchscreen or desktop monitor) on which the electronic document is presented. Request 108 may be transmitted, for example, via a packetized network, and request 108 itself may be formatted as packetized data with a header and payload data. The header may specify the destination of the packet, and the payload data may include any of the information discussed above.

[0035] DCDS 110 responds to receiving request 108 and / or uses information included in request 108 to select digital content to be provided for presentation with a given electronic document. In some embodiments, DCDS 110 is implemented in a distributed computing system (or environment) including, for example, a server and a group of interconnected computing devices that, in response to request 108, identify and distribute digital content. This group of computing devices operates together to identify a set of digital content eligible for presentation in an electronic document from a corpus of millions or more available digital content. Millions or more of available digital content may be indexed, for example, in a digital components database 112. Each digital content index entry may reference the corresponding digital content and / or include distribution parameters (e.g., selection criteria) that adjust the corresponding digital content.

[0036] The identification of eligible digital content can be broken down into multiple tasks, which are then distributed among computing devices within the group of multiple computing devices. For example, different computing devices can each analyze different portions of the digital component database 112 to identify various digital content with distribution parameters that match the information included in request 108.

[0037] The digital content to be selected and distributed by DCDS110 is provided by a third party 150. The third party 150 may be, for example, a content provider that creates digital components. In some implementations, the third party 150 is a content provider that curates digital components. The third party 150 may provide candidate digital components, as well as other types of selection criteria such as the number of bids, the set of keywords responded to by the digital component, a threshold delivery rate once a digital component is selected, a threshold number of times a user engages with the digital component once it is delivered to an end user, and a threshold number of times a specific type of user engages with the digital component once it is delivered to an end user.

[0038] User equipment 106 typically includes applications such as web browsers and / or native applications to facilitate the sending and receiving of data over network 102. Native applications are applications developed for a specific platform or device (e.g., a mobile device with a specific operating system). Publishers may develop and provide native applications to user equipment 106—e.g., for download. For example, in response to a user of user equipment 106 entering a resource address in the address bar of a web browser or selecting a link referencing a resource address, the web browser can request resource 105 from a web server hosting the publisher's website. Similarly, native applications can request application content from a publisher's remote server. Some publishers use a Service Provider Platform (SSP) to manage the process of obtaining digital components for their resources and / or applications' digital component slots. An SSP is a technology platform implemented in hardware and / or software that automates the process of obtaining digital components for resources and / or applications. An SSP can interact with one or more Demand-Side Platforms (“DSPs”) to obtain information that can be used to select digital components for digital component slots, such as selection criteria. In some implementations, each publisher may have a single SSP or multiple SSPs. Some publishers may use the same SSP.

[0039] In some implementations, DCDS110 can perform one or both of the SSP and DSP actions. In this particular example, DCDS110 performs the SSP action by interacting with the content publisher and delivering content to the client device 106.

[0040] System 100 also includes one or more switches 140. Switch 140 is a digital platform that enables the provision and selection of digital components for presentation along with requested digital content. Digital component providers, such as third parties 150, can create (or otherwise publish) digital components for presentation in digital component slots within a publisher's resources and applications. Digital component provider 150 can use a DSP to manage the provision of its digital components for presentation in digital component slots. A DSP is a technology platform implemented in hardware and / or software that automates the process of distributing digital components for presentation along with resources and / or applications. The DSP can interact with multiple switches on behalf of digital component provider 150 to provide digital components for presentation with resources and / or applications from multiple different publishers. Typically, the DSP can (e.g., directly from an SSP or via a switch) receive requests for digital components, generate (or select) selection parameters based on the requests for one or more digital components created by one or more digital component providers, and provide the SSP with data related to the digital components (e.g., the digital components themselves) and the selection parameters.

[0041] DCDS110 aggregates the results received from the group of multiple computing devices and uses information associated with the aggregated results to select one or more instances of digital content to be provided in response to request 108. DCDS110 can then generate and transmit via network 102 a set of response data 114 (e.g., digital data representing a response) in a given electronic document, such that the selected set of digital content and the content of the electronic document are presented together on the display of user equipment 106.

[0042] Each of the third parties 150 may include a watermark generation system 120 and a content delivery system 130.

[0043] Watermark generation system 120 generates a watermark to be integrated into content provided to end users. Watermark generation system 120 generates the watermark based on metrics provided by the content distribution system and / or content provider. For example, watermark system 120 may receive data indicating metrics from the content provider, including the amount of time the digital component is actively viewed at the time of delivery to the end user, to determine which metrics should be collected. Watermark generation system 120 is configured to generate an image from input data. Specifically, the watermark generation system includes an encoded input generator and a watermark generator.

[0044] The encoding input generator processes the plaintext data item to generate an encoded image that encodes the plaintext data item. The plaintext data item can be any data that can be encoded within the constraints of the encoding input generator. For example, the plaintext data item can be a text sample or string with a maximum length of n characters, because the size of the encoded image may be able to provide lossless encoding for text samples of a predefined maximum length of only n characters. In some implementations, the plaintext data item includes a session identifier that uniquely identifies a network session between the client computer 106 and the content server during which responses are provided to requests from the client computer 106.

[0045] In some implementations, plaintext data items include or reference source content data or information associated with the source content that identifies a specific source content supplied to client computer 106 (e.g., information indicating which of the source content providers supplied the specific source content to client computer 106 and a timestamp indicating when the source image was supplied or requested). In some implementations, a database stores data that associates such information about the source content or a response to a specific request for supply, in order to create detailed information accessible via a session identifier or other information represented by the plaintext data items. The response record database may also associate session identifiers with source content data, thereby making the source content data accessible by querying the database using the session identifier represented by the plaintext data items. The user can then identify, for example, when and from which source content provider, which of the source content items were supplied to the client computer for use with the session identifier from the plaintext data items. The source content can be in the form of visual data, audio data, or a combination thereof. For example, source content can be plaintext data, image data, video data, and / or audio data, as well as other types of content. For simplicity, the following discussion generally pertains to image data. However, it is contemplated that the described system be applied to other types of data, and some example implementations are described.

[0046] Plaintext data may include information that, as described in the further detailed description below, causes a client device to perform one or more specified measurements when it is running. For example, plaintext data may include a measurement script that causes the client device to perform measurements of the amount of time a content or digital component is viewed by the client device and the type of interaction with the content or digital component performed by a user of the client device.

[0047] An encoded image is an image that encodes plaintext data items. In some implementations, the encoded image is a matrix barcode representing the plaintext data items. An example of a suitable matrix barcode is a Quick Response Code (QR code). The encoded image can have a predefined size based on the number of rows and columns of pixels. Each pixel in the encoded image can encode binary bits of data, where the value of each bit is represented by a different color. For example, a pixel encoding a binary value "1" can be black, while a pixel encoding a binary value "0" can be white. In some implementations, the smallest encoding unit of the encoded image can actually be larger than a single pixel. However, for the purposes of the examples described herein, it is assumed that the smallest encoding unit is a single pixel. It should be understood, however, that the techniques described herein can be extended to implementations where the smallest encoding unit is a set of multiple pixels (e.g., a 2×2 or 3×3 pixel set).

[0048] The watermark generation system 120 also includes a watermark image generator. The watermark image generator is configured to process an encoded image to generate a semi-transparent watermark image. The semi-transparent watermark image is derived from the encoded image and also encodes plaintext data items. However, the transparency, color, arrangement of encoded pixels, and / or other characteristics of the watermark image can be varied according to the transparency, color, arrangement of encoded pixels, and / or other characteristics of the encoded image. For example, while the encoded image may be uniformly opaque and composed of encoded pixels packed closely adjacent to each other, the watermark image may include some fully transparent pixels and some partially transparent pixels. Furthermore, the encoded pixels in the watermark image may be spaced apart relative to each other, such that each encoded pixel is surrounded by non-coded pixels (i.e., "blank" pixels). A transformation from the encoded image to the watermark image can be performed so that, after the watermark image is overlaid and merged onto the background source image, the encoded information can be decoded, for example, by reconstructing the encoded image or the watermark image. In some embodiments, the watermark image is invisible to a user of a client device receiving the watermark image. For example, a watermarked image can be so small that it is invisible to human users that it is proportional to the digital components or content to which the watermarked image is set.

[0049] Content delivery system 130 performs content packaging and delivery. For example, content delivery system 130 may format content, combine media content, and deliver content to a user device. Content delivery system 130 may, for example, detect a digital content slot in which digital content is expected to be delivered within media content to a user device such as user device 106. Content delivery system 130 may also format content to include digital components selected for delivery. For example, content delivery system 130 may combine digital components and content before delivering the content to the user device. Content delivery system 130 may also format digital components to include watermark images. For example, content delivery system 130 may integrate a watermark image 122, such as a partially transparent QR code invisible to the user, into a digital component to be delivered to the user device as a response 114 with the requested content. In some embodiments, the digital content slot is indicated by a tag or other mark that indicates to content delivery system 130 that additional digital content should be provided. These tags may be defined by the media content provider and / or creator. In some implementations, the content delivery system 130 can determine where these markers should be placed within the media content. For example, the content delivery system 130 can detect natural white space or inconspicuous areas within an image file and place markers for watermarked images or for additional digital content to be delivered.

[0050] In some implementations, the content delivery system 130 may provide additional digital content within a media content stream defined in a slot. For example, in some implementations, the content delivery system 130 may insert pauses at markers where additional content can be integrated, these pauses serving as defined slots within an audio file.

[0051] In some implementations, the content delivery system 130 may pause the delivery of the media content stream upon detecting a flag, deliver additional digital content separately, and then resume the delivery of the media content.

[0052] In some implementations, the watermark image can be generated directly from plaintext data without explicitly generating an encoded image as an intermediate operation in implementing the watermark image. Furthermore, in the implementation where the third party 150 uses a source image encoder to directly merge the watermark image onto the source image to supply the merged image to the client computer 106, the third party 150 can directly encode the watermark in the source image without explicitly generating an encoded image, a watermark image, or both. It will be apparent to those skilled in the art how one or more of these operations can be integrated to provide a more direct form of encoding / watermarking of the source image.

[0053] Figure 2 Described in Figure 1 The example environment illustrates a method for improving data integrity by integrating image watermarks into content, using data stream 200. The operation of data stream 200 is performed by various components of system 100. For example, the operation of data stream 200 may be performed by a third-party content provider 150 communicating with DCDS 110 and client device 106.

[0054] The process begins in step A, where the client device provides a content request to the publisher-side server or SSP. For example, client device 106 may provide a content request to DCDS 110, which performs the functions of an SSP. The content request may include information about the capabilities of client device 106, the characteristics of the client 106's connection to a network such as network 102, the location of the requested content, the type of the requested content, and information about the current and / or historical activity of the user of client device 106. For example, the content request may include information about the available bandwidth on the connection between client device 106 and network 102.

[0055] In some implementations, a content request includes one or more characteristics of the opportunity for content item presentation. For example, a content request may include receiving a request for a digital component to be presented along with the requested content. In some implementations, a content request may simply include information indicating that specific content will be delivered to the user.

[0056] The process continues to step B, where the SSP sends a request for content to a content provider. For example, DCDS110 can send a request for a specific webpage to electronic document server 104. Electronic document server 104 can be, for example, a content publisher that hosts a specific website or domain and publishes various types of content. The requested content can be image content, video content, audio content, or text content, as well as other types of content, and can be stored within electronic document server 104 or generated at the time of request. For example, the requested content could be a video hosted by electronic document server 104.

[0057] The process continues in step C, where the content repository provides the requested content to the SSP. For example, the electronic document server 104 may send the requested webpage to the DCDS 110. The electronic document server 104 may also provide the requested content itself to the DCDS 110. For example, the electronic document server 104 may provide a video file to the DCDS 110. In some implementations, the electronic document server 104 provides the DCDS 110 with the location of the requested content. For example, the electronic document server 104 may return the location where the requested video file is stored to the DCDS 110.

[0058] In this process, the SSP transmits a request for selection criteria for candidate digital components to the switch in step D, which continues the process. The request for selection criteria may include information about the capabilities of client device 106, the characteristics of client 106's connectivity to networks such as network 102, the characteristics of the content requested from document server 104, and information about the current and / or historical activity of the user of client device 106, as well as other information. For example, content requests may include information about the website from which the user was directed to the content requested from document server 104.

[0059] In one example, the SSP is implemented as DCDS110 and can provide a request to a switch implemented as switch 140 for selection criteria for one or more candidate digital components. Switch 140 collects and manages selection criteria for one or more candidate digital components that can be selected for presentation with requested content. Switch 140 receives selection criteria and candidate digital components from one or more third-party content providers, such as third-party content provider 150. Switch 140 can provide DCDS110 with all candidate digital components and the selection criteria for those components in response to a request for selection criteria for candidate digital components. In some implementations, switch 140 can perform a preliminary selection process to select one or more digital components from a plurality of candidate digital components to provide to DCDS110. DCDS110 can request selection criteria for candidate digital components from one or more switches 140.

[0060] The process continues in step E, where the switch requests the content creator to provide selection criteria for candidate digital components. For example, switch 140 may request candidate digital components from third-party content provider 150. The request provided by switch 140 may include the same information as the request provided by DCDS 110. In some implementations, the request provided by switch 140 may include more information or limitations. Switch 140 may request candidate digital components from one or more third-party content providers 150.

[0061] The process continues in step F, where the third-party content provider returns one or more selection criteria to the switch. For example, third-party content provider 150 may provide switch 140 with one or more selection criteria for candidate digital components. In this particular example, third-party content provider 150 provides selection criteria for candidate digital component 114, which is an image that allows a user to click on it to learn about a cute bird. In some implementations, two or more third-party content providers 150 communicate with switch 140 and may each return one or more candidate digital components and their selection criteria to switch 140.

[0062] In some implementations, the third-party content provider 150 provides candidate digital components and selection criteria for those components to the switch 140 before requesting them. The switch 140 may perform a preliminary selection process to reduce the number of candidate digital components and selection criteria transmitted to the DCDS 110. For example, the switch 140 may determine, or be provided with, a threshold number of candidate digital components to be provided. In some implementations, the switch 140 may perform the preliminary selection process based on specific requirements for the selection criteria of the candidate digital components. For example, the switch 140 may receive thresholds for one or more selection criteria for candidate digital components from the DCDS 110 and then select only those candidate digital components that meet the selection criteria of those thresholds.

[0063] The process continues in step G, where the switch provides the SSP with one or more selection criteria for candidate digital components for use in the final selection process. For example, switch 140 may return one or more selection criteria for candidate digital components to DCDS 110. DCDS 110 may communicate with and receive selection criteria from one or more switches 140.

[0064] DCDS110 can perform a final selection process using selection criteria for candidate digital components received from switch 140 based on content selection technology. For example, DCDS110 can perform a content auction using selection criteria for candidate digital components received from switch 140, and select the winning digital component based on the selection criteria for the winning digital component to be presented together with the requested web page provided by electronic document server 104.

[0065] The process continues in step H, where the SSP provides a selection notification to the switch. For example, the DCDS110 can provide a selection notification to the switch 140. This selection notification can identify the number component selected as the winning number component and / or the selection criteria for that number component. For example, the selection notification may include an identifier of the number component.

[0066] The process continues in step I, where the switch provides a selection notification to the third-party content provider of the selected digital component. For example, switch 140 may provide a selection notification to third-party content provider 150 who has provided selection criteria for candidate digital components selected as the winning digital component. Switch 140 may generate a selection notification to provide to third-party content provider 150 based on the selection notification received from DCDS 110. In some implementations, switch 140 simply forwards the selection notification to the third-party content provider 150 of the selected digital component. In this particular example, the selected digital component may be image 114, which allows a user to interact with the image itself to learn about a cute bird.

[0067] Because once a candidate digital component to be presented is selected, a selection notification is provided to the third-party content provider 150. This provides the third-party content provider 150 with the opportunity to generate a watermark and embed it within the digital component to prevent interference. The scripts and data embedded in the watermark can, for example, cause the client device to perform measurement actions, such as sending a ping to the content provider of the digital component, allowing the content provider to compare the communication with expected interaction data to improve its content, detect fraud, and enhance user experience, among other functionalities.

[0068] The process continues in step J, where the third-party content provider generates a watermark and embeds it into a selected digital component. For example, the third-party content provider 150 may use the watermark generation system 120 to generate a watermark image such as watermark image 122. In this particular example, watermark image 122 is a QR code. Watermark image 122 includes a URL destination and a payload. The URL destination indicates the location to which the payload will be delivered when watermark image 122 is detected and / or read. Watermark image 122 is invisible to humans. For example, watermark image 122 may be transparent or too small for the human eye to see. Because watermark image 122 is invisible to humans, it does not affect the user experience when consuming requested content.

[0069] Embedding or shorthanding a watermarked image into a digital component can include, for example, integrating the watermarked image into the digital component such that it is not detectable as separate from the digital component. For instance, a watermarked image can be embedded into a digital component by overlaying the watermarked image as an additional layer onto the digital component image and then flattening these layers to make them a single entity. In some implementations, a watermarked image can be embedded into a digital component simply by adding the watermarked image as an additional layer without making the layers indistinguishable.

[0070] Although the watermarked image 122 is invisible to humans, an application displaying a digital component in which the watermarked image 122 is embedded can detect the presence of the watermarked image 122 and read the watermarked image 122 to cause the client device 106 to perform a specified action. For example, when a client device downloads requested content and a digital component with an embedded watermark, and then views or otherwise consumes that digital component, an application consuming that digital component can detect the watermarked image. The application will then read the watermarked image, and instructions encoded within the watermarked image will be executed by the client device. Because the watermarked image is embedded within the digital component, in some implementations, the application will only be able to detect the watermarked image if the digital component is downloaded and consumed, thus providing an additional layer of security. In some implementations, the digital component 114 may be marked or labeled so that an application on the client device 106 is paying attention to a signature or label, such as the watermarked image 122. For example, the digital component 114 may be marked to indicate the presence of the watermarked image 122, the location of the watermarked image 122, and / or the format of the watermarked image 122. In some implementations, the application is configured to scan digital components received in response to the presence of a watermarked image. For example, a video player on client device 106 may be configured to scan video for a watermark in either video or audio format.

[0071] The watermarked image 122 can enable the client device 106 to provide the destination indicated by the URL with the digital components that the user of the client device 106 has received and consumed.

[0072] The payload of the watermarked image 122 can simply be a payload to be forwarded to a URL destination. In some implementations, the payload includes a measurement script that causes the client device 106 to perform actions specified by a script, including performing measurement actions, verifying a specified device or location, transmitting measurement results to the specified device or location, and other actions.

[0073] In some implementations, the location of the watermark image 122 within the payload and digital component can be customized to replace or reduce the number of additional measurement scripts that were previously provided separately from the digital component and are therefore susceptible to removal or tampering.

[0074] In some implementations, the watermarked image 122 can be made tamper-proof by embedding cryptographically signed metadata that binds the watermarked image 122 to a specific header field that must be forwarded by an SSP such as DCDS 110. By including cryptographically signed metadata, content providers such as third-party content providers 150 can verify that the client device 106 returning the payload to the third-party content provider 150 matches selection criteria and other characteristics such as presentation opportunities provided or indicated by a request for content.

[0075] The process continues in step K, where the third-party content provider provides the SSP with a selected digital component having an embedded watermark. For example, the third-party content provider 150 may transmit a digital component 114 with an embedded watermark image 122 that is not visible to humans to the DCDS 110.

[0076] The process continues in step L, where the SSP provides content and a digital component with an embedded watermark to the client device. For example, DCDS110 may provide the requested webpage and a digital component 114 with an embedded watermark image 122 to the client device 106 for presentation to the user.

[0077] In some implementations, the SSP incorporates the digital components (and therefore the watermark image) into the requested content before transmitting it to the client device. In other implementations, the SSP may provide the digital components (and therefore the watermark image) and the requested content to the client device separately. In either type of implementation, the integrity of the measurement information contained within the watermark image is maintained.

[0078] Although a systematic description of the image content data has been provided for ease of explanation, the system is intended to be used with any type of content. For example, in some implementations, the requested content may be streaming video. The watermark image may be embedded within each frame of the video, as an overlay or transparent layer on the video, or embedded within specific frames of the video, and other placements. For example, the requested content may be a video game played online in real time with other players. The watermark image may be embedded within two or more specific frames of the video. In some implementations, the requested content may be streaming audio, and the watermark image may be provided, for example, as metadata or as audio data that is inaudible to humans but detectable by an application playing the content on a client device.

[0079] Secure watermarking systems offer numerous advantages. In traditional systems, collected data is measured and distributed at the discretion of the SSP, which executes measurement scripts and performs related measurement actions on behalf of client devices. However, traditional methods can be unreliable for data that content providers want to use to improve their digital components and user experience. By allowing the collection of metrics specified by specific content creators or developers, secure watermarking systems enable content providers to improve their content and better address user needs. Additionally, combining digital components with the requested content allows the system to be easily scaled to many environments, as content providers will not need to develop uniquely formatted content for each environment.

[0080] The system also reduces traffic through networks such as Network 102 because it allows content providers to control the measurement actions taken and the type and amount of data collected. Instead of waiting for content publishers to provide data that may be useless for improving the content provider's digital components or user experience, content providers have control over how and what measurements are taken.

[0081] In some implementations, the system protects the content provider by allowing encryption of the payload within the watermarked image. For example, the content provider can encrypt the payload so that only the content provider can decrypt it. When a client device downloads the requested content along with a digital component bearing an embedded watermark, and then views or otherwise consumes that digital component, the application consuming that digital component on the client device will detect the watermarked image. The application will then read the watermarked image, and the instructions encoded within the watermarked image will be executed by the client device. In this particular example, the client device can simply forward the encrypted payload to a URL destination, which the content provider can access without decrypting the payload or performing any operation with it. The content provider can then decrypt the payload to verify that it has not been altered and that the client device returning the payload is the same one to which it was sent.

[0082] The described system eliminates the intermediate step of content providers relying on SSPs to provide and execute measurement scripts. Therefore, it is more efficient and provides better and more accurate measurements than traditional methods of collecting and measuring data on the delivery and consumption of digital components.

[0083] The system also simplifies and reduces the workload at the SSP level, as the SSP is no longer responsible for forwarding and executing measurement instructions provided by the content provider. Additionally, the system provides integration of the measurement process, streamlining workflows and reducing workload at client devices and network traffic by reducing the number of irrelevant measurement actions required from client devices and by allowing clients to transmit measurement results or provide verification directly to the content provider rather than through the SSP or other intermediaries.

[0084] Furthermore, watermarked images allow for more precise and granular measurements. For example, content providers can embed watermarks at the beginning and end of a video to determine whether the entire video has been consumed. Because the watermark is embedded within the video, the video must be played by an application on the client device so that the watermark is detectable and the client device performs a measurement action or responds by forwarding a payload.

[0085] In another example, a content provider can embed more than one watermark within a digital component. For instance, a content provider can embed watermarks in various locations within a digital component to ensure that specific parts of the digital component are visible.

[0086] This system prevents interference or invalid actions by intermediaries, including content publishers, and provides a more secure measurement method. For example, the system allows measurement instructions to be delivered directly from the content provider to the client device because the measurement script is provided by the content provider and embedded in the digital component in a way that cannot, and will not, be stripped away by the content publisher or SSP. In effect, by allowing the content provider to control the placement and format of the embedded watermark, the system provides enhanced security for the watermark because the SSP will not alter the digital component itself, and will not know where the watermark is or what format it is if the SSP attempts to alter the digital component. Traditional methods rely on the SSP suppressing the removal of the measurement script or executing the measurement script as is and forwarding it to the client device, and allowing the SSP to prevent the possibility of detecting whether and how the digital component is presented at the client device. The described method addresses this problem by having the client device trigger an action using an embedded watermark that is not easily removable or detectable by intermediaries such as SSPs.

[0087] Security watermarking systems allow systems such as Security Providers (SSPs) to detect invalid transactions and prevent manipulation of information about devices and interactions with content providers. For example, an SSP can examine the success rate of specific types of interactions across content providers to determine if a particular content provider is more prone to invalid transactions. An SSP can tailor a set of content providers, requesting the selection of criteria and candidate digital components from that set based on data (e.g., via an exchange). While content providers can choose how and what to measure, the SSP can also leverage the collected data to improve the system.

[0088] Figure 3 This is a flowchart illustrating an example privacy-preserving process for data collection and analysis using space-efficient probabilistic data structures. In some implementations, process 300 may be executed by one or more systems. For example, process 300 may be performed by... Figures 1-2 The DCDS110 and / or user equipment 106 are implemented. In some embodiments, process 300 may be implemented as instructions stored on a computer-readable medium, which may be non-transitory, and when executed by one or more servers, the instructions may cause one or more servers to perform the operations of process 300.

[0089] Process 300 begins with a content server, including one or more processors, receiving one or more features (302) from a client device that indicate a specific content delivery opportunity. For example, DCDS 110 may receive a request from client device 106 for content from a content server such as electronic document server 104. In some implementations, the request includes a context for delivering the requested content, and a third-party content provider 150 generates a watermark 122 with context information and embeds it into a digital component 114 so that it can be provided back and the content can be offered to the user unadjusted, or an intermediary such as DCDS 110 may add additional information before providing the digital component and content to client device 106. An application at client device 106 is configured to look for inclusion of the watermark and / or the information added by DCDS 110 and may take actions such as verifying the location to deliver the information requested in the watermark. In some implementations, DCDS 110 may simply determine, based on information from client device 106, that specific content from electronic document server 104 will be delivered to the user.

[0090] As described above, the content requested from the content server can be any type of data, including streaming audio or video data, image data, text data, and other types of data. For example, the content could be an online video game being played on client device 106. DCDS 110 can determine, based on information from client device 106, that streaming video game content is being requested from electronic document server 104 and will be delivered to the user on client device 106.

[0091] Process 300 continues with the content server obtaining a watermarked digital component using watermark shorthand, the watermark representing (i) a payload that triggers an action by a client device detecting the watermark and (ii) a reporting location contacted by the client device in response to the detection of the watermark (302). For example, DCDS 110 may receive a watermarked digital component 114 embedded with a watermarked image 122 from a third-party content provider 150. Digital component 114 is embedded with the watermarked image 122 by the third-party content provider 150. In this example, the watermarked image 122 represents a payload that triggers an action by the client device 106 upon detecting the watermarked image 122, and the watermarked image 122 also represents a reporting location, such as the URL destination of the third-party content provider 150 contacted by the client device 106 in response to the detection of the watermarked image 122.

[0092] In some implementations, the action may be to create a verification that is subsequently sent to a reporting location. The reporting location may be, for example, a third-party content provider, an SSP (in this example, DCDS110), or some other designated location. In some implementations, the action may be to launch a script already installed on the client device 106, such as a measurement script that performs a specified measurement action. In some implementations, the action may be to download a script or other data from a designated location.

[0093] In some implementations, the watermarked image 122 includes a request for presentation data and a payload. For example, the client device 106 may provide an indication of whether a digital component is actually presented or how much of a digital component is actually presented, as well as other metrics.

[0094] In some implementations, the destination location is a Uniform Resource Locator (URL) contacted by the client device in response to the client device detecting a watermark, and at least a portion of the payload data is transmitted to the URL in response to the client device detecting the watermark. For example, the destination location may be a URL destination that requests the client device 106 to perform verification in response to the detection of watermarked image 122. The payload data may include, for example, data requested to be provided to the URL destination as authentication for the client device 106.

[0095] In some implementations, a given portion of the payload is cryptographically signed, and the cryptographically signed portion of the payload, along with data that causes the watermarked digital component to be displayed, is transmitted to the URL. For example, the payload may be cryptographically signed by a third-party content provider 150, such that only the third-party content provider 150 can decrypt it, ensuring that any tampering is detectable by the third-party content provider 150, and allowing the detection of invalid responses from devices that are not client device 106 or do not contain a payload.

[0096] In some implementations, the content server is configured to remove the embedded script from the received digital component, and the watermark has a form that prevents the content server from removing the watermark from the watermarked digital component. For example, DCDS110 can be configured to remove the embedded script from the digital component it receives. Because the watermark image 122 is embedded in the digital component 114, making it integrated with the digital component 114, removing the watermark image 122 would be impossible when an SSP such as DCDS110 is configured to deliver content without interfering with or altering the content itself.

[0097] Process 300 continues by the content server generating combined content (306) by combining the watermarked digital components with content from a source different from the source of the digital components. For example, DCDS 110 can integrate the watermarked digital components with content requested from the electronic document server 104 before providing the content and digital components to the client device 106.

[0098] In some implementations, generating combined content includes integrating watermarked digital components into the content at designated playback locations within the content. For example, the requested content may be a video stream, and the DCDS110 may integrate watermarked digital components into specific playback locations within the video.

[0099] In some implementations, the content is a video stream, and integrating the watermarked digital components into the content includes splicing the watermarked digital components into the video stream. For example, DCDS 110 can insert the watermarked digital components into the video stream so that they are combined with the video stream at specific playback locations.

[0100] In some implementations, integrating watermarked digital components into content includes integrating the watermarked digital components into one of the following: streaming audio, streaming video, game content, or images. As described above, the DCDS110 can insert watermarked digital components into any type of content, including streaming audio, streaming video, game content, or images.

[0101] Process 300 continues with the content server providing the combined content to the client device (308). For example, DCDS110 can provide the requested content and the watermarked digital components to client device 106.

[0102] The process 300 and system described with reference to FIG103 can be applied to any streaming environment, such as TV, movies and online games, as well as other environments.

[0103] Figure 4 This is a block diagram of an example computer system 400 that can be used to perform the above operations. System 400 includes a processor 410, memory 420, storage device 430, and input / output device 440. Each of components 410, 420, 430, and 440 can be interconnected using a system bus 450. Processor 410 is capable of processing instructions executed within system 400. In one embodiment, processor 410 is a single-threaded processor. In another embodiment, processor 410 is a multi-threaded processor. Processor 410 is capable of processing instructions stored in memory 420 or stored on storage device 430.

[0104] Memory 420 stores information within system 400. In one embodiment, memory 420 is a computer-readable medium. In one embodiment, memory 420 is a volatile memory cell. In another embodiment, memory 420 is a non-volatile memory cell.

[0105] Storage device 430 provides massive storage for system 400. In one embodiment, storage device 430 is a computer-readable medium. In various other embodiments, storage device 430 may include, for example, a hard disk drive, an optical disk drive, a storage device shared by multiple computing devices (e.g., cloud storage devices) over a network, or some other high-capacity storage device.

[0106] Input / output device 440 provides input / output operations for system 400. In one embodiment, input / output device 440 may include one or more network interface devices (e.g., Ethernet cards), serial communication devices (e.g., RS-232 ports), and / or wireless interface devices (e.g., 802.11 cards). In another embodiment, input / output device may include driver devices configured to receive input data and send output data to other input / output devices, such as keyboards, printers, and display devices 460. However, other embodiments may also be used, such as mobile computing devices, mobile communication devices, set-top box television client devices, etc.

[0107] Although Figure 4An example processing system has been described, but the implementation of the subject matter and functional operations described in this specification can also be implemented in other types of digital electronic circuit systems, or in computer software, firmware, or hardware, including in the structures disclosed in this specification and their equivalents, or in one or more combinations thereof.

[0108] Media does not necessarily correspond to a file. Media can be stored as a part of a file that contains other documents, in a single file dedicated to the document in question, or in multiple coordinating files.

[0109] The embodiments of the subject matter and operations described in this specification can be implemented in digital electronic circuit systems, or in computer software, firmware, or hardware (including the structures disclosed in this specification and their structural equivalents), or a combination thereof. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a computer storage medium (or media) for execution by a data processing device or for controlling the operation of that data processing device. Alternatively or additionally, the program instructions can be encoded on artificially generated propagating signals (e.g., machine-generated electrical, optical, or electromagnetic signals generated to encode information for transmission to a suitable receiver device for execution by the data processing device). The computer storage medium can be a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination thereof, or may be included therein. Furthermore, although the computer storage medium is not a propagating signal, it can be a source or destination of computer program instructions encoded in artificially generated propagating signals. Computer storage media can also be one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices), or can be included therein.

[0110] The operations described in this specification can be implemented as operations performed by a data processing device on data stored on one or more computer-readable storage devices or received from other sources.

[0111] The term "data processing device" includes a wide variety of devices, apparatuses, and machines for processing data, including, for example, programmable processors, computers, systems-on-a-chip, or a combination thereof. Devices may include dedicated logic circuit systems, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). In addition to hardware, devices may also include code that creates the execution environment for the computer program in question, such as code constituting processor firmware, protocol stacks, database management systems, operating systems, cross-platform runtime environments, virtual machines, or combinations thereof. Devices and execution environments can implement various computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.

[0112] Computer programs (also known as programs, software, software applications, scripts, or code) can be written in any type of programming language (including compiled or interpreted languages, declarative or programming languages), and can be deployed in any form, including as standalone programs or as modules, components, subroutines, objects, or other units suitable for a computing environment. A computer program may, but does not necessarily, correspond to a file in a file system. A program may be stored as part of a file containing other programs or data (e.g., one or more scripts stored in markup language files), or as a single file dedicated to the program in question, or as multiple coordinating files (e.g., files storing portions of one or more modules, subroutines, or code). A computer program can be deployed to execute on one or more computers located in one place or distributed across multiple locations and interconnected via a communication network.

[0113] The processes and logic flows described in this specification can be executed by one or more programmable processors, which execute one or more computer programs to perform actions by manipulating input data and generating outputs. The processes and logic flows can also be executed by a dedicated logic circuit system, and the device can also be implemented as a dedicated logic circuit system, such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit).

[0114] Processors suitable for executing computer programs include, for example, general-purpose microprocessors and special-purpose microprocessors. Generally, a processor receives instructions and data from read-only memory or random access memory, or both. The basic components of a computer are a processor for performing actions according to instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include one or more mass storage devices (e.g., disks, magneto-optical disks, or optical disks) for storing data, or devices operatively coupled to receive data from, transfer data to, or both of these mass storage devices. However, a computer does not necessarily have to have such devices. Furthermore, a computer can be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few examples. Suitable devices for storing computer program instructions and data include various forms of non-volatile memory, media, and storage devices, including: for example, semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices); magnetic disks (e.g., internal hard disks or removable hard disks); magneto-optical disks; and CD-ROM and DVD-ROM disks. Processors and memory may be supplemented by dedicated logic circuitry systems or incorporated into dedicated logic circuitry systems.

[0115] To provide interaction with the user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor), a keyboard, and pointing devices (such as a mouse or trackball), through which the user provides input to the computer. Other types of devices can be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback, such as visual, auditory, or tactile feedback; and input from the user can be received in any form, including sound, speech, or tactile input. Additionally, the computer can interact with the user by sending documents to and receiving documents from the user's device; for example, by sending a webpage to a web browser on the user's client device in response to a request received from a web browser.

[0116] Embodiments of the subject matter described in this specification can be implemented in a computing system that includes back-end components (e.g., as a data server), middleware components (e.g., an application server), or a front-end component (e.g., a client computer with a graphical user interface or web browser through which a user can interact with embodiments of the subject matter described in this specification), or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected via any form of digital data communication medium, such as a communication network. Examples of communication networks include local area networks (“LANs”) and wide area networks (“WANs”), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).

[0117] A computing system may include clients and servers. Clients and servers are generally geographically separated and typically interact via a communication network. The client-server relationship is established through computer programs running on respective computers and having a client-server relationship with each other. In some embodiments, the server sends data (e.g., HTML pages) to the client device (e.g., for the purpose of displaying data to a user interacting with the client device and receiving user input from the user interacting with the client device). Data generated at the client device (e.g., the result of user interaction) can be received from the client device at the server.

[0118] While this specification contains numerous specific implementation details, these details should not be construed as limiting the scope of any invention or claim, but rather as descriptions of features specific to particular embodiments of the invention. Certain features described in this specification in the context of discrete embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented discretely or in any suitable sub-combination in multiple embodiments. Furthermore, while features may be described as above for use in certain combinations or even originally claimed, in some cases one or more features from a claimed combination may be omitted from the combination, and the claimed combination may refer to a sub-combination or a variation of a sub-combination.

[0119] Similarly, although operations are depicted in a specific order in the accompanying drawings, this should not be construed as requiring such operations to be performed in the indicated specific order or in a sequential order, or as requiring all illustrated operations to achieve the desired result. In some environments, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above embodiments should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together into a single software product or packaged within multiple software products.

[0120] Therefore, specific embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific order or sequence to achieve the desired result. In some embodiments, multitasking and parallel processing can be advantageous.

Claims

1. A method comprising: One or more features of receiving content delivery opportunities from a client device by a content server including one or more processors; The content server obtains a watermarked digital component embedded with a watermark, the watermark representing (i) a payload that triggers an action by the client device detecting the watermark and (ii) a reporting location contacted by the client device in response to the detection of the watermark, wherein the payload includes a measurement script configured to perform measurement actions related to the presentation of the watermarked digital component by the client device, wherein a given portion of the payload is cryptographically signed, and wherein the action of the client device includes executing the measurement script to perform the measurement actions and sending measurement data of the measurement actions to the reporting location; The content server generates combined content by combining the watermarked digital components with content from sources different from the source of the digital components; and The content server provides the combined content and data that causes the watermarked digital component to be displayed by the client device, wherein, in response to the client device detecting the watermark, a given portion of the encrypted signed payload is sent by the client device to the reporting location.

2. The method according to claim 1, wherein, Generating combined content includes integrating the watermarked digital components into the content at a specified location within the content.

3. The method according to claim 2, wherein, The content described is a video stream. Integrating the watermarked digital components into the content includes splicing the watermarked digital components into the video stream at the designated location; and The specified position is the playback position.

4. The method according to claim 2, wherein, Integrating the watermarked digital components into the content includes integrating the watermarked digital components into one of the following: streaming audio, streaming video, game content, or images.

5. The method according to claim 1, wherein: The reported location is the Uniform Resource Locator URL destination contacted by the client device in response to the client device detecting the watermark.

6. The method according to any one of claims 1-5, wherein: The content server is configured to remove embedded scripts from the received digital components; as well as The watermark has a form that prevents the content server from removing the watermarked digital component.

7. The method according to claim 1, wherein, The measurement data includes the types of interactions performed by the user of the client device with the digital components.

8. A system comprising: One or more processors; as well as One or more memory elements including instructions, which, when executed, cause the one or more processors to perform operations, the operations including: One or more features of a content server including the one or more processors receiving content delivery opportunities from a client device; The content server obtains a watermarked digital component embedded with a watermark, the watermark representing (i) a payload that triggers an action by the client device detecting the watermark and (ii) a reporting location contacted by the client device in response to the detection of the watermark, wherein the payload includes a measurement script configured to perform measurement actions related to the presentation of the watermarked digital component by the client device, wherein a given portion of the payload is cryptographically signed, and wherein the action of the client device includes executing the measurement script to perform the measurement actions and sending measurement data of the measurement actions to the reporting location; The content server generates combined content by combining the watermarked digital components with content from sources different from the source of the digital components; and The content server provides the combined content and data that causes the watermarked digital component to be displayed by the client device, wherein, in response to the client device detecting the watermark, a given portion of the encrypted signed payload is sent by the client device to the reporting location.

9. The system according to claim 8, wherein, Generating combined content includes integrating the watermarked digital components into the content at a specified location within the content.

10. The system according to claim 9, wherein, The content described is a video stream. Integrating the watermarked digital components into the content includes splicing the watermarked digital components into the video stream at the designated location; and The specified position is the playback position.

11. The system according to claim 9, wherein, Integrating the watermarked digital components into the content includes integrating the watermarked digital components into one of the following: streaming audio, streaming video, game content, or images.

12. The system according to claim 8, wherein: The reported location is the Uniform Resource Locator URL destination contacted by the client device in response to the client device detecting the watermark.

13. The system according to any one of claims 8 to 12, wherein: The content server is configured to remove embedded scripts from the received digital components; as well as The watermark has a form that prevents the content server from removing the watermarked digital component.

14. A computer storage medium encoded with instructions, said instructions causing the content server to perform an operation when executed by the content server, said operation including: One or more features of the content server, including one or more processors, receiving content delivery opportunities from a client device; The content server obtains a watermarked digital component embedded with a watermark, the watermark representing (i) a payload that triggers an action by the client device detecting the watermark and (ii) a reporting location contacted by the client device in response to the detection of the watermark, wherein the payload includes a measurement script configured to perform measurement actions related to the presentation of the watermarked digital component by the client device, wherein a given portion of the payload is cryptographically signed, and wherein the action of the client device includes executing the measurement script to perform the measurement actions and sending measurement data of the measurement actions to the reporting location; The content server generates combined content by combining the watermarked digital components with content from sources different from the source of the digital components; and The content server provides the combined content and data that causes the watermarked digital component to be displayed by the client device, wherein, in response to the client device detecting the watermark, a given portion of the encrypted signed payload is sent by the client device to the reporting location.

15. The computer storage medium according to claim 14, wherein, Generating combined content includes integrating the watermarked digital components into the content at a specified location within the content.

16. The computer storage medium according to claim 15, wherein, The content described is a video stream. Integrating the watermarked digital components into the content includes splicing the watermarked digital components into the video stream at the designated location; and The specified position is the playback position.

17. The computer storage medium according to any one of claims 14 to 16, wherein: The reported location is the Uniform Resource Locator URL destination contacted by the client device in response to the client device detecting the watermark.

Citation Information

Patent Citations

  • Interactive content acquisition using embedded codes

    CN106170988A

  • System, method and computer program product for publishing non-malicious third party content to a data feed

    US20130347061A1

  • Methods and apparatus to measure exposure to streaming media

    US20160057490A1

  • Methods and apparatus to measure exposure to streaming media

    US20180255351A1