IP Library Granted Patent US 8,412,572
Granted Patent B2
US 8,412,572 · App. 13/167,474 · Granted Apr 2, 2013

Network-based systems and methods for defining and managing multi-dimensional, advertising impression inventory

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 8,412,572
App. No.
13/167,474
Granted
Apr 2, 2013
Kind
B2
Abstract

A method for representing and managing an inventory of overlapping multi-dimensional items such as advertising or ad impressions. The method uses an inventory management module to generate unique segment identifiers for sets of inventory items by processing descriptions of the sets of impressions including defining criteria. The method includes processing the unique segment identifiers to create a representation of the inventory as a plurality of inventory regions, which may include non-overlapping regions that correspond to inventory items in a single set of the inventory and also include overlapping regions that correspond to inventory items in two or more of the sets (e.g., items that match two or more sets of defining criteria or attributes). Availability and selection of inventory is determined using the information on inventory regions to control effects of cannibalization, such as by implementing logically necessary allocation to only cannibalize a region on a limited or forced basis.

Claims (37)

1. A system for determining product availability in an inventory that includes numerous products defined by a set of attributes, comprising:

a data structure in memory comprising a plurality of aggregated forecast vectors that for a period of time provide a forecasted number of units of a product in each of a number of inventory regions, wherein each region is defined by a subset of the attributes and wherein an inventory element is determined to have the attributes of one or more of the subsets and is counted in each of the regions with corresponding attributes; and

a data processor running an inventory management module in communication with the memory for processing a request by determining a unique product identifier from the request and returning one or more of the aggregated forecast vectors associated with the unique product identifier and for providing reports including at least portions of the aggregated forecast vectors to a selection module for use in selecting inventory elements for use by a delivery system;

wherein the inventory management module uses logically necessary allocation to determine availability of the inventory elements to account for consumption of a particular one of the inventory elements resulting from allocation of associated products from the regions; and

wherein the logically necessary allocation comprises implementing a constraining set method of determining product availability; the constraining set method comprising:

adjusting availability for a current product by subtracting a new allocation from a previous availability value, wherein each region of the product is associated with a constraining set and a constraint value, the constraint value comprising remaining inventory for the allocated product;

propagating the effects of a new constraint to products that intersect the allocated product as a function of the volume of inventory in common between the products and the limiting constraints in their respective intersecting regions; wherein if an intersecting product's availability is reduced by the allocated product, that product's inventory is adjusted and an associated constraint is updated;

adjusting availability of the intersecting products by summing the inventory on each distinct region of each intersecting product and limiting the amount of available inventory taken from each product by an amount indicated by the constraint;

determining if any new constraint meets the criteria for merging the constraint with constraints on other products and, if so, merging the constraints to reflect a limit on remaining availability as a union of a set of their associated products;

associating all regions associated with the constraining sets with any new constraints; and

repeating the foregoing steps on any other product that intersected with both the allocating product and the intersecting product and that had a change in availability; and visiting any products that, in tum, intersect with it and that have not already been processed until no further changes in availability require propagation.

2. The system of claim 1 , further comprising a processing module analyzing a population of input data to define a list of product segments based on the attributes and to form the aggregated forecast vectors from the input data.

3. A system for determining product availability in an inventory that includes numerous products defined by a set of attributes, comprising:

a data structure in memory comprising a plurality of aggregated forecast vectors providing a forecasted number of ad impressions in inventory regions, wherein each of the regions is defined by a subset of the attributes and wherein one of the ad impressions is counted in each of the regions that has corresponding attributes; and

a data processor running an inventory management module in communication with the memory for processing a request by determining a unique product identifier from the request and returning one or more of the aggregated forecast vectors associated with the unique product identifier;

wherein the inventory management module uses logically necessary allocation to determine availability of the inventory elements to account for consumption of a particular one of the inventory elements resulting from allocation of associated products from the regions; and

wherein the logically necessary allocation comprises implementing a constraining set method of determining product availability; the constraining set method comprising:

adjusting availability for a current product by subtracting a new allocation from a previous availability value, wherein each region of the product is associated with a constraining set and a constraint value, the constraint value comprising remaining inventory for the allocated product;

propagating the effects of a new constraint to products that intersect the allocated product as a function of the volume of inventory in common between the products and the limiting constraints in their respective intersecting regions; wherein if an intersecting product's availability is reduced by the allocated product, that product's inventory is adjusted and an associated constraint is updated;

adjusting availability of the intersecting products by summing the inventory on each distinct region of each intersecting product and limiting the amount of available inventory taken from each product by an amount indicated by the constraint;

determining if any new constraint meets the criteria for merging the constraint with constraints on other products and, if so, merging the constraints to reflect a limit on remaining availability as a union of a set of their associated products;

associating all regions associated with the constraining sets with any new constraints; and

repeating the foregoing steps on any other product that intersected with both the allocating product and the intersecting product and that had a change in availability; and visiting any products that, in tum, intersect with it and that have not already been processed until no further changes in availability require propagation.

4. The system of claim 3 , wherein the inventory module further operates to provide reports including at least portions of the aggregated forecast vectors to a selection module for use in selecting ad impressions for use by a delivery system.

5. The system of claim 3 , further comprising a processing module analyzing a population of input data to define a list of product segments based on the attributes.

6. The system of claim 5 , wherein the processing module further forms the aggregated forecast vectors from the input data as part of the analyzing of the input data.

7. A system for determining product availability in an inventory that includes numerous products each made up of an ad impression meeting a particular set of attributes, comprising:

memory storing a data structure in memory comprising a plurality of aggregated forecast vectors that for a period of time provide a forecasted number of units of a product in each of a number of inventory regions, wherein each region is defined by a subset of the attributes and wherein an inventory element is determined to have the attributes of one or more of the subsets and is counted in each of the regions with corresponding attributes based on the determining;

a data processor providing an inventory management module that processes a request including determining a unique product identifier from the request and returning one or more of the aggregated forecast vectors associated with the unique product identifier, wherein the inventory management module further operates to provide reports including at least portions of the aggregated forecast vectors for use by a delivery system,

wherein the inventory management module uses logically necessary allocation to determine availability of the inventory elements to account for consumption of a particular one of the inventory elements resulting from allocation of associated products from the regions; and

wherein the logically necessary allocation comprises implementing a constraining set method of determining product availability; the constraining set method comprising:

adjusting availability for a current product by subtracting a new allocation from a previous availability value, wherein each region of the product is associated with a constraining set and a constraint value, the constraint value comprising remaining inventory for the allocated product;

propagating the effects of a new constraint to products that intersect the allocated product as a function of the volume of inventory in common between the products and the limiting constraints in their respective intersecting regions; wherein if an intersecting product's availability is reduced by the allocated product, that product's inventory is adjusted and an associated constraint is updated;

adjusting availability of the intersecting products by summing the inventory on each distinct region of each intersecting product and limiting the amount of available inventory taken from each product by an amount indicated by the constraint;

determining if any new constraint meets the criteria for merging the constraint with constraints on other products and, if so, merging the constraints to reflect a limit on remaining availability as a union of a set of their associated products;

associating all regions associated with the constraining sets with any new constraints; and

repeating the foregoing steps on any other product that intersected with both the allocating product and the intersecting product and that had a change in availability; and visiting any products that, in turn, intersect with it and that have not already been processed until no further changes in availability require propagation.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2023
From: APPNEXUS YIELDEX LLC
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 063226/0234 →
NUNC PRO TUNC ASSIGNMENT Recorded Feb 24, 2021
From: XANDR INC. (F/K/A APPNEXUS INC.)
To: APPNEXUS YIELDEX, LLC
Reel/Frame 055395/0218 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRESPONDENCE ADDRESS PREVIOUSLY RECORDED AT REEL: 050100 FRAME: 0054. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 23, 2019
From: APPNEXUS INC.
To: XANDR INC.
Reel/Frame 051413/0547 →
CHANGE OF NAME Recorded Aug 20, 2019
From: APPNEXUS INC.
To: XANDR INC.
Reel/Frame 050100/0054 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Aug 22, 2018
From: SILICON VALLEY BANK
To: APPNEXUS, INC.; APPNEXUS RESOURCES INC.; APPNEXUS YIELDEX LLC
Reel/Frame 046908/0581 →
SECURITY INTEREST Recorded Dec 1, 2016
From: APPNEXUS INC.; APPNEXUS RESOURCES INC.; APPNEXUS YIELDEX LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 040782/0935 →
SECURITY AGREEMENT Recorded Dec 22, 2015
From: APPNEXUS YIELDEX LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 037359/0265 →
MERGER AND CHANGE OF NAME Recorded May 1, 2015
From: YIELDEX, INC.; APPNEXUS HOLDINGS II LLC
To: APPNEXUS YIELDEX LLC
Reel/Frame 035542/0420 →
MERGER Recorded Apr 30, 2015
From: APPNEXUS HOLDINGS I INC.
To: YIELDEX, INC.
Reel/Frame 035541/0550 →