US20210281921A1 - Media program viewership measurement using blockchains - Google Patents
Media program viewership measurement using blockchains Download PDFInfo
- Publication number
- US20210281921A1 US20210281921A1 US17/190,287 US202117190287A US2021281921A1 US 20210281921 A1 US20210281921 A1 US 20210281921A1 US 202117190287 A US202117190287 A US 202117190287A US 2021281921 A1 US2021281921 A1 US 2021281921A1
- Authority
- US
- United States
- Prior art keywords
- random numbers
- content
- random
- extracted
- smart contract
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000005259 measurement Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012544 monitoring process Methods 0.000 claims abstract description 30
- 230000002123 temporal effect Effects 0.000 claims abstract description 28
- 239000000284 extract Substances 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 25
- 230000006978 adaptation Effects 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2407—Monitoring of transmitted content, e.g. distribution time, number of downloads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/29—Arrangements for monitoring broadcast services or broadcast-related services
- H04H60/31—Arrangements for monitoring the use made of the broadcast services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44204—Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Definitions
- the present disclosure relates to systems and methods for measuring viewership demographics, and in particular to a system and method for verifiably measuring media program viewership demographics via blockchains.
- the dissemination of program content is typically commercially supported by the use of sponsored advertisement content presented in conjunction with the program content.
- the value of such advertisements is largely related to the “reach” of the program content transmission, which provides information about the individuals actually consuming (e.g. watching) the content. Such information may include simply the number of people watching the content, but may also include additional detail such as the demographics of the audience.
- the more individuals watching or consuming the program content the more valuable the advertisement opportunities that are associated with the transmission of the program content.
- the number of individuals watching particular content is also important information for other reasons. For example, it informs content providers as to the number and demographics of the viewers of their content, permitting them to favor production of more popular content over less popular content. It is also important to determine which advertising content is actually presented.
- OTT over the top
- push type delivery paradigms e.g. broadcast
- client request The clients tune to a channel locally without talking to the backend.
- one technique is to “retitle” an episode of a series (e.g. using a slightly different name) when the episode is expected to have fewer viewers, so that the average viewership numbers for the series is not negatively affected by the viewership drop of that episode. For example, if an episode of THE SIMPSONS is expected to be less because of the broadcast of a popular sporting program, that particular episode may be retitled as THE SIMPSON'S so that it is not counted in the aggregated statistics for the series.
- What is needed is a system and method for verifiably monitoring the viewership of content, so that the determined number of viewers of the content is incremented if and only if the consumer device presenting the content is able to prove that it has indeed presented that particular content for viewing.
- An apparatus, method and system for measuring consumption of content data having content for serially presentation comprises generating n random numbers, where n>0, generating a first value P 1 at least in part from a cryptographic function of the n random numbers, publishing the first value P 1 to a smart contract associated with a blockchain, embedding consumption monitoring data including the n random numbers in different temporal locations of the content data and transmitting the content data to a client device for consumption.
- a client device extracts each of the n random numbers only after a portion of the content data associated with a temporal location of the associated random number has been consumed and transmits the extracted n random numbers to the smart contract associated with the blockchain.
- a smart contract verifies, that the transmitted extracted n random numbers match the embedded n random numbers from the published first value P 1 and a second value P 2 generated from the extracted n random numbers and executes a transaction of the smart contract only if the transmitted extracted n random numbers match the embedded n random numbers.
- the system comprises a content producer processor and a content producer memory, communicatively coupled to the content producer processor.
- the content producer memory storing content producer instructions including instructions for generating n random numbers, where n>0, generating a first value P 1 at least in part from a cryptographic function of the n random numbers, publishing the first value P 1 to a smart contract associated with a blockchain, and embedding consumption monitoring data comprising the n random numbers in different temporal locations of the content data.
- the system also includes a transmitter, for transmitting the content data to a client device for consumption, and a client device having a client device processor and a client device memory, storing client device instructions including instructions for extracting each of the n random numbers only after a portion of the content data associated with a temporal location of the associated random number has been consumed and transmitting the extracted n random numbers to the smart contract associated with the blockchain.
- the system also includes a verification processor, a verification memory, storing verification processor instructions comprising instructions for verifying, that the transmitted extracted n random numbers match the embedded n random numbers from the published first value P 1 and a second value P 2 generated from the extracted n random numbers and automatically executing a transaction of the smart contract only if the transmitted extracted n random numbers match the embedded n random numbers.
- FIG. 1 is a diagram illustrating an exemplary content distribution system
- FIG. 2 is a diagram presenting an overview of a blockchain-based viewership monitoring system
- FIG. 3 is a diagram presenting further details regarding operation of the blockchain-based viewership monitoring system.
- FIG. 4 illustrates an exemplary processing system that could be used to implement processing elements of this disclosure.
- FIG. 1 is a diagram illustrating an exemplary content distribution system (CDS) 100 .
- the system 100 may comprise one or more content providers 120 A, 120 B (hereinafter, content provider(s) 120 ), in communication with a communication network 104 such as the Internet, cable system, or satellite system.
- content providers 120 A, 120 B hereinafter, content provider(s) 120
- a communication network 104 such as the Internet, cable system, or satellite system.
- the content distribution system (CDS) 100 transmits content data having content to one or more client devices such as content consumption devices (CCDs) 102 A- 202 D.
- CCDs 102 may include a tablet 102 A, a smartphone 102 B, a desktop or laptop computer 102 C and/or a set top box (STB) 102 D.
- CCDs 102 may both be enabled to receive content from the service provider 110 or directly from the content providers 120 .
- content providers 120 own the rights to the media programs (alternatively referred to hereinafter as “content” ultimately presented to consumers.
- Content providers 120 may own such rights because they created the content itself, or by transfer of rights from the authors or former owners of the content.
- content providers 120 transmit content to service providers 110 (typically over high bandwidth secure communication links 134 ), and the services providers 110 transmit the content to the CCDs 102 .
- the content providers 120 transmit content directly to CCDs 102 .
- the service provider 110 licenses the content from the content providers 120 . In the second service paradigm, such licensing is not required.
- the content providers 120 and service providers 110 each may include one or more video servers and one or more databases for storing and transmitting content.
- Content providers 120 and service providers 110 may transmit content data to the CCDs 102 via the Internet, cable transmission system, satellite transmission system, or terrestrial transmission, and such transmission may comprise a broadcast (e.g. transmission to any CCD 102 via a communication channel shared by the CCDs 102 , multicast (e.g. transmission to a pre-specified group of CCDs 102 ), or by OTT video-on-demand and/or streaming.
- the content data transmitted to CCDs 102 includes the content itself (e.g. the video and audio data that together comprise the program of content) as well as other data appurtenant to the content provided to the CCD 102 and used to support the decompression and decoding of the content or otherwise present the content.
- appurtenant data can include, for example, clock references, program identifiers, conditional access data and the like.
- remote users 132 can also communicate data with the service provider(s) 110 or content provider(s) 120 using the communication network 104 .
- the CDS 100 may also comprise one or more advertisement providers 140 , which supply advertising content that is presented conjunction with the content, typically at intervals within the content.
- the advertisement provider 140 includes an advertisement provider server communicatively coupled to an associated and communicatively coupled advertisement provider database.
- entity creates a puzzle that can only be solved with data provided by a CCD 102 that has actually played the content.
- the viewership count is then determined from the number of times the puzzle has been solved by different CCDs 102 .
- the CCDs 102 do not operate as blockchain nodes, and do not run any blockchain node software. Rather, they operate like wallet clients which can send transactions to a blockchain network.
- This technique can be used in any transmission paradigm, including broadcast, multicast, or OTT.
- a blockchain is a list or ledger of records (blocks) that are serially linked using cryptography. Each block typically contains a cryptographic hash of the previous block, a timestamp, and transaction data (generally represented as a Merkle Tree.
- the ledger is distributed and open, and is typically managed by a peer-to-peer network. Once recorded, the data in a given block of the blockchain cannot be altered retroactively without alteration of all subsequent blocks, which cannot be performed without a majority of entities in the network agreeing to the change.
- a smart contract is a self-enforcing agreement embedded in computer code managed by a blockchain.
- the code contains a set of rules under which the parties to that contract agree to interact with one another. If and when the predefined rules are met, the agreement is automatically enforced.
- smart contracts operate like a cryptographic box that contains value, and only unlocks if certain conditions are met.
- the underlying values and access rights they manage are stored on a blockchain, which is a transparent, shared ledger. The transparent, shared nature of the blockchain protects transactions from being deleted, revised or tampered with
- FIG. 2 is a diagram presenting an overview of a blockchain-based viewership monitoring system 200 .
- Viewership information is recorded on a blockchain using a smart contract 206 , thereby making that viewership information immutable and tamperproof and visible to all stakeholders, including content providers, service providers, advertising providers, and media program sponsors.
- Both the CCDs 102 and the content data (e.g. which has been embedded with pseudorandom numbers) being currently displayed play an indispensable role in the measurement process, and the viewership count is incremented if and only if the CCD 102 is able to prove that has indeed played that particular content.
- a puzzle 210 having a puzzle solution P generated from a plurality of random or pseudorandom values (alternatively referred to hereinafter as numbers) N 1 +N 2 + . . . +N n .
- the random numbers N 1 +N 2 + . . . +N n are inserted into the content data where they can be recovered by the CCD 102 and provided to a smart contract 206 of a blockchain 208 .
- the puzzle 210 and the pseudorandom numbers N 1 +N 2 + . . . +N n are selected such that the pseudorandom numbers N 1 +N 2 + . . . +N n will only reliably generate the value of P if the CCD 102 has recovered all of the plurality of numbers N 1 +N 2 + . . . +N n from the content data 204 .
- the puzzle comprises at least one cryptographic function of a combination of pseudorandom numbers, for example, as shown in equation (1) below:
- Equation (1) describes the use of only one cryptographic function, but a plurality of cryptographic functions may be utilized, for example, as described in Equation (2).
- the cryptographic function (f crypto ) is deterministic, can be computed rapidly, and is such that it is infeasible to generate the same output for the function with different inputs, and that small changes in the input results in function value that appears to be uncorrelated with that of the unchanged input value.
- the cryptographic function is a one-way hash function.
- the puzzle for the CCD 102 to solve is to compute puzzle solution P from n random numbers that are provided in the media content, as described in equation (3) below:
- the “+” operation may comprise any combination of x and y. Examples include an exclusive OR operation (XOR), a bitwise OR, a bitwise AND, and a concatenation of digits representing the values of x and y.
- XOR exclusive OR
- bitwise OR a bitwise OR
- bitwise AND a bitwise AND
- concatenation of digits representing the values of x and y a concatenation of digits representing the values of x and y.
- a bitwise AND operation is similar, with the result obtained via a bit by bit AND operation (in the above example, resulting in a value of 0010). A concatenation of digits in the above example would yield 10100110 .
- Other operations combining the operands x and y may also be used.
- the puzzle 210 is used to measure viewership as follows.
- the content producer 202 e.g. the content provider 120 or advertising provider 140
- the content producer 202 Prior to the transmission of the media content, the content producer 202 (e.g. the content provider 120 or advertising provider 140 ) generates n random numbers N 1 , N 2 , . . . , N n and computes the puzzle solution P 1 using those random numbers, for example, using Equation (3). These numbers may be expressed using any combination of value representations including alphanumeric characters.
- the content producer 202 then commits/publishes the value of P 212 onto a blockchain 208 using a dedicated smart contract 206 .
- Blockchain 208 and smart contract 206 operations are performed by a processing system, with the resulting blockchain shared among other computers in a network.
- the content producer 202 embeds the n random numbers inside the content data at random or specific intervals.
- each random number N can be embedded in the content data as private data inside the adaptation field of the TS packet, along with an optional unique media content identifier.
- Other techniques can be used to transmit the n random numbers, including inserting the random numbers into other unused data fields in the content data, or inserting the data into the content itself, for example using steganographic or similar techniques.
- the unique media content identifier allows the content that is the subject of the viewership survey to be identified, so the puzzle solution can be compared to the proper puzzle solution computed by the content producer 202 .
- each CCD 102 When each CCD 102 plays back the content, it parses the content data and retrieves the embedded random numbers N 1 , N 2 , . . . , N n from the transmission of the content, and transmits the retrieved random numbers to the smart contract 206 via communication channel 214 .
- the viewership count of the content is incremented by one if and only if the value of P received from the content producer 202 matches the value computed from the numbers N 1 , N 2 , . . . , N n received from the CCD 102 .
- FIG. 3 is a diagram presenting further details regarding operation of the blockchain-based viewership monitoring system 200 .
- n random numbers are generated, where N is an integer greater than zero.
- a first value P 1 is generated at least in part from a cryptographic function of one or more of the generated n random numbers, as shown in block 304 .
- the values of the N random numbers are held private, but the content producer publishes the first value P 1 to the smart contract 206 associated with the blockchain 208 , as shown in block 306 .
- consumption monitoring data comprising the n random numbers is embedded in different temporal locations of the content data.
- the consumption monitoring data includes the generated n random numbers, but may include other information as further described below.
- the consumption monitoring data may be embedded in data appurtenant to the data that carries image and sound information, or in the image and sound information itself.
- the random numbers can be embedded in the data that carries the image information using steganography, or modifying the least significant bits of an image pixel).
- each random number N may be embedded in the content data as private data inside the adaptation field of the TS packet, along with an optional unique content identifier or other information.
- the information may be embedded in unused closed captioning closed captioning, or multi-dimensional sound.
- the content data complies with the HTTP live streaming transmission protocol (HLS)
- one of the random numbers N may be embedded in each HLS-coded chunk of the content data.
- the content data 204 with the embedded random numbers is transmitted (e.g. by broadcast) to the CCDs 102 .
- the CCD 102 receives the content data 204 , and extracts each of the N random numbers from the content data 204 , as shown in block 312 .
- the extracted random numbers are transmitted to the smart contract 206 associated with the blockchain 208 , as shown in block 314 .
- the smart contract 206 verifies the CCD 102 has presented the content by verifying that the transmitted extracted n random numbers match the embedded n random numbers. This is accomplished by generating a second puzzle value P 2 from the transmitted extracted random numbers and comparing that generated second puzzle value P 2 with the puzzle value P 1 received from the content producer 202 .
- the smart contract 206 executes a transaction of the smart contract only if the transmitted extracted n random numbers match the embedded random numbers (i.e. the computed puzzle value P 2 matches the puzzle value P 1 received from the content producer 202 .
- each random number is extracted from the content data and transmitted essentially immediately after extraction.
- each random number is transmitted only after that portion of the content data associated with a temporal location of the associated random number has been consumed (e.g. decrypted, decompressed, decoded).
- random numbers can be aggregated and sent in a group, with each group of random numbers providing information by which it can be determined whether the associated portion of the content has been consumed. For example, it is typical for ordinary broadcast television to begin with a commercial break, have a second commercial break after the first third of the program, a third commercial break after the second third of the program, and a fourth commercial break after the program has completed.
- the content producer 202 may generate different random numbers for the first, second and last thirds of the program, as well as associated different puzzle values.
- the CCDs 102 may transmit the random numbers for each of the program thirds when the viewing of those thirds are completed (or as they are completed), thus indicating which thirds of the program has been consumed.
- the content producer 202 may generate multiple puzzle solutions, each requiring more of the random numbers to be solved.
- the content producer 202 may define three puzzles:
- the value of P a can be determined after the CCD has extracted and transmitted N 1 , N 2 . . . N 4 but cannot determine the value of P b until the N 5 has been extracted and transmitted. In this way, one set of random numbers can be used to determine viewership of a single program of content, but that viewership can be determined for cumulative portions of the content.
- the CCD 102 would provide proof that it has extracted the random numbers without actually providing the random numbers to the smart contract 206 .
- the CCDs 102 may compute the value for P 2 and prove that they have computed this number, rather than transmitting the number P 2 itself.
- the smart contract would then execute the transaction based on this proof.
- a zero knowledge proof is a means by which one entity can prove to another entity that they know the value of a variable without disclosing the value of the variable itself.
- proof that the value of the variable is known without disclosing the variable is performed by the second entity solving a problem that can only be solved if the value of the variable is known, without the disclosing the value, and using a problem that does not disclose anything about the value.
- the second entity can request that the first entity transmit the value r.
- Another way to prevent this problem is to use a cryptographic primitive such as a commit reveal scheme.
- FIG. 4 illustrates an exemplary processing system 400 that could be used to implement processing elements of the above disclosure, including the operations of blocks 302 - 320 of FIG. 3 . Similar processing elements can be used to generate the blockchain 208 , disseminate the blockchain ledger to other processing systems in the network, enforce the smart contract 206 .
- a computer 402 comprises one or more processors such as general purpose processor 404 A and/or special purpose processor 404 B and a memory, such as random access memory (RAM) 406 .
- the computer 402 is operatively coupled to a display 422 , which presents images such as windows to the user on a graphical user interface 418 B.
- the computer 402 may be coupled to other devices, such as a keyboard 414 , a mouse device 416 , a printer 428 , etc.
- a keyboard 414 such as a keyboard 414 , a mouse device 416 , a printer 428 , etc.
- printer 428 a printer 428
- the computer 402 operates under control of an operating system 408 stored in the memory 406 , and interfaces with the user to accept inputs and commands and to present results through a graphical user interface (GUI) module 418 A.
- GUI graphical user interface
- the GUI module 418 B is depicted as a separate module, the instructions performing the GUI functions can be resident or distributed in the operating system 408 , the computer program 410 , or implemented with special purpose memory and processors.
- the computer 402 may also implement a compiler 412 which allows an application program 410 written in a programming language such as COBOL, C++, FORTRAN, or other language to be translated into processor 404 readable code.
- the application 410 accesses and manipulates data stored in the memory 406 of the computer 402 using the relationships and logic that was generated using the compiler 412 .
- the computer 402 also optionally comprises an external communication device such as a modem, satellite link, Ethernet card, or other device for communicating with other computers.
- instructions implementing the operating system 408 , the computer program 410 , and the compiler 412 are tangibly embodied in a computer-readable medium, e.g., data storage device 420 , which could include one or more fixed or removable data storage devices, such as a zip drive, floppy disc drive 424 , hard drive, CD-ROM drive, tape drive, etc.
- the operating system 408 and the computer program 410 are comprised of instructions which, when read and executed by the computer 402 , causes the computer 402 to perform the operations herein described.
- Computer program 410 and/or operating instructions may also be tangibly embodied in memory 406 and/or data communications devices 430 , thereby making a computer program product or article of manufacture.
- the terms “article of manufacture,” “program storage device” and “computer program product” as used herein are intended to encompass a computer program accessible from any computer readable device or media.
- the CCDs 102 , or servers at the content providers 120 , service providers 110 or advertising providers 140 may include processing systems 400 which exclude elements of FIG. 4 , such as the GUI module 418 A, compiler 412 , display 422 , keyboard 414 and printer 428 .
- the method comprises generating n random numbers, where n>0; generating a first value P 1 at least in part from a cryptographic function of the n random numbers, publishing the first value P 1 to a smart contract associated with a blockchain, embedding consumption monitoring data including the n random numbers in different temporal locations of the content data, and transmitting the content data to a client device for consumption.
- the client device extracts each of the n random numbers only after a portion of the content data associated with a temporal location of the associated random number has been consumed, and transmits the extracted n random numbers to the smart contract associated with the blockchain.
- the smart contract verifies that the transmitted extracted n random numbers match the embedded n random numbers from the published first value P 1 and a second value P 2 generated from the extracted n random numbers and executes a transaction of the smart contract only if the transmitted extracted n random numbers match the embedded n random numbers.
- Implementations may include one or more of the following features:
- n random numbers is one of an exclusive OR of the n random numbers, a bitwise OR of the n random numbers, a bitwise AND of the n random numbers and a concatenation of the n random numbers.
- serially presented content data includes a transport stream including packets having an adaptation field; and each of the n random numbers are embedded as private data of the adaptation field.
- serially presented content is coded chunks according to an HLS protocol, and one of the n random number is included in each chunk.
- the consumption monitoring data further includes a unique identifier of the content.
- a system for measuring consumption of content data having content for serially presentation including means for generating n random numbers, where n>0, means for generating a first value P 1 at least in part from a cryptographic function of the n random numbers, means for publishing the first value P 1 to a smart contract associated with a blockchain, means for embedding consumption monitoring data including the n random numbers in different temporal locations of the content data, means for transmitting the content data to a client device for consumption, a client device having means for extracting each of the n random numbers only after a portion of the content data associated with a temporal location of the associated random number has been consumed, and means for transmitting the extracted n random numbers to the smart contract associated with the blockchain.
- the system also includes means for verifying, that the transmitted extracted n random numbers match the embedded n random numbers from the published first value P 1 and a second value P 1 generated from the extracted n random numbers, and means for automatically executing a transaction of the smart contract only if the transmitted extracted n random numbers match the embedded n random numbers.
- Implementations may include one or more of the following features:
- n random numbers is one of an exclusive OR of the n random numbers, a bitwise OR of the n random numbers, a bitwise AND of the n random numbers, and a concatenation of the n random numbers.
- serially presented content data includes a transport stream including packets having an adaptation field, and each of the n random numbers are embedded as private data of the adaptation field.
- serially presented content is coded chunks according to an HLS protocol, and one of the n random number is included in each chunk.
- the consumption monitoring data further includes a unique identifier of the content.
- a system for measuring consumption of content data having content for serially presentation including a content producer processor, and a content producer memory, communicatively coupled to the content producer processor, the content producer memory storing content producer processor instructions.
- the content producer instructions include instructions for generating n random numbers, where n>0, generating a first value P 1 at least in part from a cryptographic function of the n random numbers, publishing the first value P 1 to a smart contract associated with a blockchain, embedding consumption monitoring data including the n random numbers in different temporal locations of the content data.
- the system also includes a transmitter, for transmitting the content data to a client device for consumption.
- the client device has a client device processor, a client device memory, storing client device instructions including instructions for: extracting each of the n random numbers only after a portion of the content data associated with a temporal location of the associated random number has been consumed and transmitting the extracted n random numbers to the smart contract associated with the blockchain.
- the system also includes a verification processor, a verification memory, storing verification processor instructions including instructions for verifying, that the transmitted extracted n random numbers match the embedded n random numbers from the published first value P 1 and a second value P 2 generated from the extracted n random numbers, and automatically executing a transaction of the smart contract only if the transmitted extracted n random numbers match the embedded n random numbers.
- Implementations may include one or more of the following features:
- the cryptographic function is a hash of a combination of the n random numbers.
- the combination of the n random numbers includes at least one of an exclusive OR of the n random numbers, a bitwise OR of the n random numbers, a bitwise AND of the n random numbers, and a concatenation of the n random numbers.
- serially presented content data includes a transport stream including packets having an adaptation field, and each of the n random numbers are embedded as private data of the adaptation field.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/190,287 US20210281921A1 (en) | 2020-03-03 | 2021-03-02 | Media program viewership measurement using blockchains |
US18/378,585 US20240155206A1 (en) | 2020-03-03 | 2023-10-10 | Media program viewership measurement using blockchains |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062984645P | 2020-03-03 | 2020-03-03 | |
US17/190,287 US20210281921A1 (en) | 2020-03-03 | 2021-03-02 | Media program viewership measurement using blockchains |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/378,585 Continuation US20240155206A1 (en) | 2020-03-03 | 2023-10-10 | Media program viewership measurement using blockchains |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210281921A1 true US20210281921A1 (en) | 2021-09-09 |
Family
ID=75223425
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/190,287 Abandoned US20210281921A1 (en) | 2020-03-03 | 2021-03-02 | Media program viewership measurement using blockchains |
US18/378,585 Pending US20240155206A1 (en) | 2020-03-03 | 2023-10-10 | Media program viewership measurement using blockchains |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/378,585 Pending US20240155206A1 (en) | 2020-03-03 | 2023-10-10 | Media program viewership measurement using blockchains |
Country Status (6)
Country | Link |
---|---|
US (2) | US20210281921A1 (es) |
EP (1) | EP4115623B1 (es) |
AU (1) | AU2021230275A1 (es) |
CA (1) | CA3170438A1 (es) |
MX (1) | MX2022010984A (es) |
WO (1) | WO2021178446A1 (es) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8082486B1 (en) * | 2011-06-09 | 2011-12-20 | Storify, Inc. | Source attribution of embedded content |
US20180343505A1 (en) * | 2017-05-25 | 2018-11-29 | Turner Broadcasting System, Inc. | Dynamic verification of playback of media assets at client device |
US20190236286A1 (en) * | 2018-01-31 | 2019-08-01 | Cable Television Laboratories, Inc | Systems and methods for privacy management using a digital ledger |
US20190266632A1 (en) * | 2018-02-23 | 2019-08-29 | Arris Enterprises Llc | Real-Time Advertisement-Insertion Verification |
US20190354943A1 (en) * | 2018-05-15 | 2019-11-21 | Comcast Cable Communications, Llc | Systems and methods for monitoring content consumption |
US20190362388A1 (en) * | 2018-05-22 | 2019-11-28 | Sony Pictures Entertainment Inc. | Advertisement networks |
US20200126114A1 (en) * | 2018-10-17 | 2020-04-23 | Ku-Chang Kuo | Blockchain-Based Advertising Delivering and Evaluation Method |
US20200175590A1 (en) * | 2018-11-29 | 2020-06-04 | Shu Ya Huo | Method to turn digital rental buyer into subscriber and an apparatus to secure access & trade the rental item |
US20200192957A1 (en) * | 2018-12-18 | 2020-06-18 | Rokfin, Inc. | Determining network-effects with decentralized applications |
US20200237452A1 (en) * | 2018-08-13 | 2020-07-30 | Theator inc. | Timeline overlay on surgical video |
US20200244444A1 (en) * | 2019-04-23 | 2020-07-30 | Alibaba Group Holding Limited | Blockchain-based advertisement monitoring method and apparatus, and electronic device |
US20210021407A1 (en) * | 2019-07-17 | 2021-01-21 | Charter Communications Operating, Llc | Apparatus and methods for blockchain-based verification |
US20210182827A1 (en) * | 2019-12-17 | 2021-06-17 | Ting Tech, LLC | System, method, and apparatus to interactively broadcast value |
US11375292B2 (en) * | 2017-03-14 | 2022-06-28 | Google Llc | Verifying the rendering of video content at client devices using trusted platform modules |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10586023B2 (en) * | 2016-04-21 | 2020-03-10 | Time Warner Cable Enterprises Llc | Methods and apparatus for secondary content management and fraud prevention |
US20200058019A1 (en) * | 2018-08-16 | 2020-02-20 | Free Stream Media Corporation d/b/a Samba TV | Viewer data access management |
CN109525865B (zh) * | 2018-12-03 | 2021-09-10 | 杭州遥指科技有限公司 | 基于区块链的收视率监测方法和计算机可读存储介质 |
-
2021
- 2021-03-02 WO PCT/US2021/020535 patent/WO2021178446A1/en unknown
- 2021-03-02 MX MX2022010984A patent/MX2022010984A/es unknown
- 2021-03-02 AU AU2021230275A patent/AU2021230275A1/en active Pending
- 2021-03-02 EP EP21714491.4A patent/EP4115623B1/en active Active
- 2021-03-02 US US17/190,287 patent/US20210281921A1/en not_active Abandoned
- 2021-03-02 CA CA3170438A patent/CA3170438A1/en active Pending
-
2023
- 2023-10-10 US US18/378,585 patent/US20240155206A1/en active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8082486B1 (en) * | 2011-06-09 | 2011-12-20 | Storify, Inc. | Source attribution of embedded content |
US11375292B2 (en) * | 2017-03-14 | 2022-06-28 | Google Llc | Verifying the rendering of video content at client devices using trusted platform modules |
US20180343505A1 (en) * | 2017-05-25 | 2018-11-29 | Turner Broadcasting System, Inc. | Dynamic verification of playback of media assets at client device |
US20190236286A1 (en) * | 2018-01-31 | 2019-08-01 | Cable Television Laboratories, Inc | Systems and methods for privacy management using a digital ledger |
US20190266632A1 (en) * | 2018-02-23 | 2019-08-29 | Arris Enterprises Llc | Real-Time Advertisement-Insertion Verification |
US20190354943A1 (en) * | 2018-05-15 | 2019-11-21 | Comcast Cable Communications, Llc | Systems and methods for monitoring content consumption |
US20190362388A1 (en) * | 2018-05-22 | 2019-11-28 | Sony Pictures Entertainment Inc. | Advertisement networks |
US20200237452A1 (en) * | 2018-08-13 | 2020-07-30 | Theator inc. | Timeline overlay on surgical video |
US20200126114A1 (en) * | 2018-10-17 | 2020-04-23 | Ku-Chang Kuo | Blockchain-Based Advertising Delivering and Evaluation Method |
US20200175590A1 (en) * | 2018-11-29 | 2020-06-04 | Shu Ya Huo | Method to turn digital rental buyer into subscriber and an apparatus to secure access & trade the rental item |
US20200192957A1 (en) * | 2018-12-18 | 2020-06-18 | Rokfin, Inc. | Determining network-effects with decentralized applications |
US20200244444A1 (en) * | 2019-04-23 | 2020-07-30 | Alibaba Group Holding Limited | Blockchain-based advertisement monitoring method and apparatus, and electronic device |
US20210021407A1 (en) * | 2019-07-17 | 2021-01-21 | Charter Communications Operating, Llc | Apparatus and methods for blockchain-based verification |
US20210182827A1 (en) * | 2019-12-17 | 2021-06-17 | Ting Tech, LLC | System, method, and apparatus to interactively broadcast value |
Also Published As
Publication number | Publication date |
---|---|
AU2021230275A1 (en) | 2022-10-06 |
MX2022010984A (es) | 2022-12-08 |
EP4115623A1 (en) | 2023-01-11 |
CA3170438A1 (en) | 2021-09-10 |
EP4115623B1 (en) | 2024-02-21 |
WO2021178446A1 (en) | 2021-09-10 |
US20240155206A1 (en) | 2024-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11297359B2 (en) | Method and system for remotely controlling consumer electronic devices | |
US9197421B2 (en) | Methods and apparatus to measure exposure to streaming media | |
CA2840094C (en) | Methods and apparatus to measure exposure to streaming media | |
US20210021407A1 (en) | Apparatus and methods for blockchain-based verification | |
JP2015521397A (ja) | アドレス指定可能な広告のためのデータ境界マネージャ | |
CN113892272A (zh) | 使用隐写编码数据作为基础来消歧基于指纹的频道多匹配 | |
US20240155015A1 (en) | Asset metadata service | |
US11430007B2 (en) | Methods and systems for mapping advertising inventory | |
US20240155206A1 (en) | Media program viewership measurement using blockchains | |
US12033185B2 (en) | Methods and systems for mapping advertising inventory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ARRIS ENTERPRISES LLC, GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BHUYAN, SUDEEPTA;REEL/FRAME:055464/0066 Effective date: 20200303 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK Free format text: ABL SECURITY AGREEMENT;ASSIGNORS:ARRIS ENTERPRISES LLC;COMMSCOPE TECHNOLOGIES LLC;COMMSCOPE, INC. OF NORTH CAROLINA;REEL/FRAME:058843/0712 Effective date: 20211112 Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK Free format text: TERM LOAN SECURITY AGREEMENT;ASSIGNORS:ARRIS ENTERPRISES LLC;COMMSCOPE TECHNOLOGIES LLC;COMMSCOPE, INC. OF NORTH CAROLINA;REEL/FRAME:058875/0449 Effective date: 20211112 |
|
AS | Assignment |
Owner name: WILMINGTON TRUST, DELAWARE Free format text: SECURITY INTEREST;ASSIGNORS:ARRIS SOLUTIONS, INC.;ARRIS ENTERPRISES LLC;COMMSCOPE TECHNOLOGIES LLC;AND OTHERS;REEL/FRAME:060752/0001 Effective date: 20211115 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION COUNTED, NOT YET MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |