Impression capping in distributed online advertising environment
AssigneePubmatic, Inc.
InventorsRohan BANKAR, Divyesh MINJROLA, Ramkrishan RAVI
Life of this patent
Estimating the term…
Abstract
Ad segments on a Web page are filled with ads that are served by a service provider operating between a user computer and publisher on one end and multiple ad serving entities on the other. The service provider implements a bidding process for the ad segment. Impression caps may be imposed over geographically separate data centers. An individual server in a data center may dynamically request information from a central store to update a local impression cap quota.
Claims35
A method of tracking the serving of ads to users across different geographic areas, the method comprising:
- providing two or more geographically distributed data centers, each of the data centers assigned to serve ad impressions to client computers within a geographical area associated with the data center respectively,
- each of the data centers including a central store and at least two ad servers to serve a first ad impression to individual web browsers;
- assigning an impression cap to each of the data centers for the first ad;
- storing the impression cap in the central store of each of the data centers;
- operating each of the data centers to serve the first ad within its associated geographical area respectively by:
- assigning to each of the two ad servers a cap quota for serving the first ad, the cap quota a subset of the impression cap;
- arranging for the two ad servers to serve the first ad to client computers respectively;
- determining when each of the two ad servers has exhausted its cap quota respectively;
- dynamically updating the cap quota, for the first ad server and the second ad server, each time the cap quota or the dynamically updated cap quota for the first ad server and the second ad server has been exhausted respectively;
- and
- decrementing the impression cap at the central store of each of the data centers after each dynamic update respectively.
A method of coordinating the serving of ads to users across different geographic areas, the method comprising:
- providing two or more geographically separated data centers where each data center is assigned to serve impressions of ads to client computers within a geographical area associated with the data center respectively;
- coordinating a total impression cap for each type of inventory across the two or more geographically separated data centers by providing an impression cap to each data center for each type of inventory respectively
- in a first data center associated with a first geographical location:
- maintaining the impression cap for each type of inventory in a first central store accessible by the first data center;
- arranging for at least two servers, associated with the first data center, to serve each type of inventory to client computers within the first geographic area, the at least two servers serving each type of inventory in accordance with a cap quota for each type of inventory respectively;
- dynamically refreshing the cap quota for each type of inventory as each of the at least two servers exhausts the cap quota for each type of inventory respectively, the refreshed cap quota for each type of inventory deducted from the impression cap maintained in the central store for each type of inventory respectively;
- and
- decrementing the impression cap for each type of inventory at the first central store of the first data center after each dynamic refresh of the cap quota for any of the at least two servers respectively.
A method for coordinating the serving of ads to users across different geographic areas, the method comprising:
- providing two or more geographically separated data centers, wherein each data center is assigned to serve two or more geographical areas respectively;
- storing a total impression cap for an impression at storage facility accessible by an administration center;
- enforcing the total impression cap for the impression over at least two different geographic locations by:
- assigning a first impression cap for the impression to a first data center, the first impression cap less than the total impression cap and stored in a first store accessible by the first data center;
- assigning a second impression cap for the impression to a second data center, the second impression cap less than the total impression cap and stored in a second data store accessible by the second data center;
- configuring the first data center to serve the impression to client computers in an associated first geographic location by:
- assigning an impression quota to each of two or more servers associated with the first data center;
- arranging for the two or more servers to serve the impression up to the impression quota;
- ascertaining when each of the two or more servers has exhausted its impression quota;
- updating the impression quota for each of the two or more servers when the impression quota has been exhausted respectively and arranging the two or more servers to continue serving the impression in accordance with the updated quota;
- and
- decrementing the first impression cap in the first store each time one of the two or more servers exhausts and updates its impression quota;
- configuring the second data center to serve the impression to client computers in an associated second geographic location by:
- assigning an impression quota to each of two or more servers associated with the second data center;
- arranging for the two or more servers associated with the second data center to serve the impression up to the impression quota;
- ascertaining when each of the two or more servers associated with the second data center has exhausted its impression quota;
- updating the impression quota for each of the two or more servers associated with the second data center when the impression quota has been exhausted respectively and arranging the two or more servers to continue serving the impression in accordance with the updated quota;
- decrementing the second impression cap in the second store each time one of the two or more servers exhausts and updates its impression quota;
- decrementing the total impression cap at the storage facility accessible by the administration center each time the first impression quota and the second impression quota for the first and second data centers are exhausted and updated respectively;
- and
- stopping the serving of the impression when the total impression cap is exhausted.
A method of operating a distributed ad network, the method comprising:
- maintaining, at an administrative storage location on the ad network, a total impression cap for each type of inventory to be served by the ad network respectively;
- providing two or more data centers, each data center including a storage element and at least two ad servers and servicing a defined geographic area respectively;
- distributing to the two or more data centers a data center level impression cap for each type of inventory served by the ad network, the impression cap for each type of inventory stored in the storage element of each data center respectively;
- and
- operating each data center by:
- providing to each of the at least two servers an impression cap quota for each type of inventory, the impression cap quota for each type of inventory less than the data center level impression cap for each type of inventory respectively;
- (a) arranging for each of the at least two servers to serve each type of inventory up to the impression cap quota for each type of inventory respectively;
- (b) determining when each of the at least two servers has exhausted its cap quota for each type of inventory;
- (c) updating each of the at least two servers with an updated cap quota for each type of inventory when exhausted;
- (d) decrementing the data center level impression cap in the storage element by the amount of the updated cap quota following each exhaustion and update;
- and
- (e) repeating (a) through (d) until the data center level impression cap is exhausted.
Dependencies are inferred from the claim text.