The present invention relates to online display advertising and, in particular, to ad serving systems and methods that implement a distributed methodology that leverages under-utilized servers located on the edge side of a commercial content delivery network (CDN) by running custom edge side include (ESI) code on the CDN's edge servers.
The algorithm behind the display of an advertisement on a web site is a complex client server computing mechanism that requires a client computer to issue requests to an ad serving platform to select an ad and generate the code required to display the ad. This operation requires that calls to the ad serving platform respond with sub-second latencies, usually below 500 ms per request.
The operation of a large ad serving network requires large amounts of computing power. Increasingly complex ad targeting and ad matching algorithms call for more powerful data centers that can handle an increasing number of ad selections per second within a decreasing expected latency.
As described in greater detail below, the present invention innovates in this field and obtains massive scalability at a very low cost by distributing the processing required to select an ad into three tiers:
1. A client computer tier being used by the end user;
2. Server Tier I: the edge side processing power of a commercial CDN (Content Delivery Network); and
3. Server Tier II: the ad server platform processing, located in regionally distributed data centers.
See http://en.wikipedia.org/wiki/Content_delivery_network (which is hereby incorporated by reference herein in its entirety) for a description of the capabilities of a CDN.
By distributing the algorithms for ad selection into two server tiers, an ad server platform in accordance with the concepts of the present invention provides a way to leverage the computing power of a commercial CDN, such as Akamai, and perform processing on the CDN's edge side servers, thus reducing the number of servers in its own data centers and increasing service availability. The ad serving platform implements a distributed processing methodology that leverages under-utilized server resources located on the edge side of the CDN by running edge side include (ESI) code on the CDN's edge servers.
The features and advantages of the various aspects of the subject matter disclosed herein will be more fully understood and appreciated upon consideration of the following detailed description and accompanying drawings, which set forth illustrative embodiments in which the concepts of the claimed subject matter are utilized.
The following is extracted from http://en.wikipedia.org/wiki/Content_delivery_network and describes a CDN, its model and usage:
“CDN Benefits
The capacity sum of strategically placed servers can be higher than the network backbone capacity. This can result in an impressive increase in the number of concurrent users. For instance, when there is a 10 Gbit/s network backbone and 200 Gbit/s central server capacity, only 10 Gbit/s can be delivered. But when 10 servers are moved to 10 edge locations, total capacity can be 10×10 Gbit/s.
Strategically placed edge servers decrease the load on interconnects, public peers, private peers and backbones, freeing up capacity and lowering delivery costs. It uses the same principle as above. Instead of loading all traffic on a backbone or peer link, a CDN can offload these by redirecting traffic to edge servers.
CDNs generally deliver content over TCP and UDP connections. TCP throughput over a network is impacted by both latency and packet loss. In order to reduce both of these parameters, CDNs traditionally place servers as close to the edge networks that users are on as possible.
Theoretically, the closer the content, the faster the delivery, although network distance may not be the factor that leads to best performance. End users will likely experience less jitter, fewer network peaks and surges, and improved stream quality—especially in remote areas. The increased reliability allows a CDN operator to deliver HD quality content with high quality of service, low costs and low network load.
CDNs can dynamically distribute assets to strategically placed redundant core, fallback and edge servers. CDNs can have automatic server availability sensing with instant user redirection. A CDN can offer 100% availability, even with large power, network or hardware outages. CDN technologies give more control of asset delivery and network load. They can optimize capacity per customer, provide views of real-time load and statistics, reveal which assets are popular, show active regions and report exact viewing details to the customers. These usage details are an important feature that a CDN provider must provide, since the usage logs are no longer available at the content source server after it has been plugged into the CDN, because the connections of end-users are now served by the CDN edges instead of the content source.”
As described above, a CDN (such as, for example, Akamai) is usually used by its customers to increase content availability, increase speed of delivery and reduce network load by caching objects at the “edge” of the network using a highly geographically distributed network of servers and storage equipment that keeps copies of their customer's content closer to the end users. This method focuses 100% of the usage of the CDN's infrastructure on the amount of storage and bandwidth utilized by the customer's cached content that is hosted by the CDN on their behalf. As a matter of fact, all of the CDN's pricing models have two components: the number of Gigabytes hosted and the number of Gigabytes served by the CDN's own internet network access. No CDN prices its service based on the CPU power used on their edge servers because their customers buy storage and network capacity, not CPU processing capacity.
Embodiments of the disclosed ad serving platform leverage the CPU power of a CDN's edge servers by not only caching the programs, but also executing them on the same distributed data centers that host them on the edge of the internet. This approach leverages the ability of a CDN's edge server to execute programming languages such as Java or ESI.
Architecture Description
As shown in the
Referring to
In the
Using the
In the ad server platform model shown in
Because the
The
In the
It should be understood that the particular embodiments of the invention described herein have been provided by way of example and that other modifications may occur to those skilled in the art without departing from the scope of the claimed subject matter as expressed in the appended claims and their equivalents.
This application claims the benefit of U.S. Provisional Application No. 61/494,117, filed on Jun. 7, 2011, by Ruarte et al. and titled “Pre-Processing of Ad Requests Using Edge Side Processing Over Commercial CDNs.” Provisional Application No. 61/494,117 is hereby incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
61494117 | Jun 2011 | US |