IP Library Granted Patent US 9,462,354
Granted Patent B2
US 9,462,354 · App. 14/214,431 · Granted Oct 4, 2016

Audited pipelined distributed system for video advertisement exchanges

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,462,354
App. No.
14/214,431
Granted
Oct 4, 2016
Kind
B2
Abstract

Techniques and systems for operating a video ad exchange includes controlling an ad server to receive ad requests from viewer devices, provide ad responses to viewer devices, generate an ad delivery data file that includes information about delivery of ads to the viewer devices, and transfer the ad delivery data file to a distributed computing cloud. The technique further includes controlling an ad data infrastructure mechanism to download the cloud-based ad delivery data file into a local memory, and process the copied ad delivery data file to generate billing data. An ad data infrastructure mechanism receives a configuration file from the ad server, verifies that all items in the configuration file from the ad server were used in the generation of the first billing data, and removes non-verifiable items from the first billing data to generate a final billing data.

Claims (46)

1. A method of operating a video advertisement (ad) exchange system, comprising:

controlling an ad data infrastructure mechanism having a pipeline of multiple processing stages with intermediate load balancers to:

determine whether a plurality of ad servers checked in during a pre-determined time period, each of the plurality of ad servers checking in after uploading an ad delivery data file to a distributed computing cloud;

in response to determination that the plurality of ad servers checked in:

by the plurality of ad servers from the distributed computing cloud into a local memory, each of the ad delivery data files including information about delivery of advertisements from each of the plurality of ad servers to a plurality of viewer devices for the pre-determined time period;

process the downloaded ad delivery data files to generate a first billing data comprising information about ads that were placed through the pipeline of multiple processing stages; and

further controlling the ad data infrastructure mechanism to:

receive configuration files from the ad servers;

verify that all items in the configuration file from the ad server were used in the generation of the first billing data by comparing the configuration files received from the ad servers with the ad delivery data files downloaded and processed for generating a first billing data; and

remove non-verifiable items from the first billing data to generate a final billing data;

wherein the load balancers are configured to provide isolation among the multiple processing stages.

2. The method of claim 1 , further comprising:

dynamically assigning computational resources to the ad data infrastructure mechanism to generate the billing data within the pre-determined time period after copying the cloud based ad delivery data files to the local memory.

3. The method of claim 1 , wherein the pre-determined time period is fifteen minutes.

4. The method of claim 1 , wherein the non-verifiable items are due to changes made to code running in the ad data infrastructure mechanism or business logic.

5. The method of claim 1 , wherein the information about delivery of ads includes demographic or geographic information of the viewers.

6. The method of claim 1 , wherein the first billing data is generated at one of the multiple processing stages.

7. The method of claim 1 , wherein a periodicity of the verifying that all items in the configuration file from the ad server were used in the generation of the first billing data is the same as a periodicity of the ad delivery data file.

8. The method of claim 1 , wherein the ad delivery data file is generated for each data collection time period.

9. A video advertisement (ad) exchange system, comprising:

an ad data infrastructure mechanism having a pipeline of multiple processing stages with intermediate load balancers configured to:

determine whether a plurality of ad servers checked in during a pre-determined time period, each of the plurality of ad servers checking in after uploading an ad delivery data file to a distributed computing cloud;

in response to determination that the plurality of ad servers checked in:

download ad delivery data files uploaded by the plurality of ad servers from the distributed computing cloud into a local memory, each of the ad delivery data files including information about delivery of advertisements from each of the plurality of ad servers to a plurality of viewer devices for the pre-determined time period;

process the downloaded ad delivery data files to generate a first billing data comprising information about ads that were placed through the pipeline of multiple processing stages; and

wherein the ad data infrastructure mechanism is further configured to:

receive configuration files from the ad servers;

verify that all items in the configuration file from the ad server were used in the generation of the first billing data by comparing the configuration files received from the ad servers with the ad delivery data files downloaded and processed for generating a first billing; and

remove non-verifiable items from the first billing data to generate a final billing data;

wherein the load balancers are configured to provide isolation among the multiple processing stages.

10. The system of claim 9 , further comprising:

a resource allocation module that dynamically assigns computational resources to the ad data infrastructure mechanism to generate the billing data within the pre-determined time period after copying the cloud based ad delivery data files to the local memory.

11. The system of claim 9 , further comprising:

a notification module that provides a notification to the ad data infrastructure mechanism after each of the ad delivery data files is copied to the distributed computing cloud.

12. The system of claim 9 , wherein each of the multiple processing stages receives its input data by reading from the distributed computing cloud and each processing stage writes its output data to the distributed computing cloud.

13. A computer program product comprising a non-transitory computer-readable program medium having code stored thereon, the code when executed, causing one or more processors to implement a method of operating a video advertisement (ad) exchange system, the method comprising:

controlling an ad data infrastructure mechanism having a pipeline of multiple processing stages with intermediate load balancers to:

determine whether a plurality of ad servers checked in during a pre-determined time period, each of the plurality of ad servers checking in after uploading an ad delivery data file to a distributed computing cloud;

in response to determination that the plurality of ad servers checked in:

download ad delivery data files uploaded by the plurality of ad servers from the distributed computing cloud into a local memory, each of the ad delivery data files including information about delivery of advertisements from each of the plurality of ad servers to a plurality of viewer devices for the pre-determined time period;

process the downloaded ad delivery data files to generate a first billing data comprising information about ads that were placed through the pipeline of multiple processing stages; and

further controlling the ad data infrastructure mechanism to:

receive configuration files from the ad server;

verify that all items in the configuration file from the ad server were used in the generation of the first billing data by comparing the configuration files received from the ad servers with the ad delivery data files downloaded and processed for generating a first billing; and

remove non-verifiable items from the first billing data to generate a final billing data;

wherein the load balancers are configured to provide isolation among the multiple processing stages.

Assignments (8)
PATENT SECURITY AGREEMENT Recorded Mar 18, 2025
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 070551/0860 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2025
From: YAHOO ASSETS LLC; YAHOO AD TECH LLC
To: RPX CORPORATION
Reel/Frame 070402/0873 →
CHANGE OF NAME Recorded Mar 22, 2022
From: VERIZON MEDIA INC.
To: YAHOO AD TECH LLC
Reel/Frame 059471/0514 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2015
From: BRIGHTROLL, INC.
To: YAHOO! INC.
Reel/Frame 034656/0290 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2014
From: PHAN, GIAO HUU; HSIUNG, DANIEL WEI-TZE; MELVEN, IAN GRAEME; HARDIE, BRIAN; GUTIERREZ, JOSEPH; BEDDOE, MARSHALL ALLEN; GUPTA, PANKAJ; DE SEABRA, BERNARDO; NELSON, DRU; CHEUNG, KAM HO KENNETH; ENDO, JASON
To: BRIGHTROLL, INC.
Reel/Frame 033653/0190 →