The Impact of Brokers on the Future of Content Delivery Matthew K. - - PowerPoint PPT Presentation

the impact of brokers on the future of content delivery
SMART_READER_LITE
LIVE PREVIEW

The Impact of Brokers on the Future of Content Delivery Matthew K. - - PowerPoint PPT Presentation

The Impact of Brokers on the Future of Content Delivery Matthew K. Mukerjee , I. Nadi Bozkurt, Bruce Maggs, Srinivasan Seshan, Hui Zhang Hi, my name is Matt Mukerjee and Ill be presenting our work on The Impact of Brokers on the Future of


slide-1
SLIDE 1

The Impact of Brokers

  • n the Future of

Content Delivery

Matthew K. Mukerjee, I. Nadi Bozkurt, Bruce Maggs, Srinivasan Seshan, Hui Zhang

Hi, my name is Matt Mukerjee and I’ll be presenting our work on “The Impact of Brokers on the Future of Content Delivery.”

slide-2
SLIDE 2

Traditional Content Delivery

CDN Client Content Provider (CP)

Content Legend:

Traditional content delivery involves content providers (like ** HBO and ** ESPN), sending their content to CDNs (like ** Akamai), which ultimately deliver the data to

  • clients. The picture is complicated by…
slide-3
SLIDE 3

Changing Content Delivery

CDN Client Content Provider (CP)

Content Legend:

Client Client CDN

… many clients as well as ** other CDNs **. In order to make better use of the opportunities offered by stitching together multiple CDNs, an additional entity is involved in content delivery today, …

slide-4
SLIDE 4

Content Delivery Today

CDN Content Provider (CP)

Content Legend:

Broker

Control

Client Client Client CDN

… called a broker (** the best known broker being Conviva). Brokers are purely a control plane entity that stitch together CDNs, …

slide-5
SLIDE 5

Content Delivery Today

Content Provider (CP)

Content Legend:

Broker

Control

Client Client Client CDN CDN Easier for CPs to meet performance and cost goals

… making it easier for content providers to meet performance and cost goals.

slide-6
SLIDE 6

Content Delivery Today

Content Provider (CP)

Content Legend:

Broker

Control

Client Client Client B B B CDN CDN Brokers select “best” CDN for clients to minimize cost and meet performance goals

They do so by selecting the appropriate CDN for clients. Brokers run software on the clients (e.g., a video player on ESPN’s website) that contact the broker periodically to select the “best” CDN for the client based on things like device type, geographic location, and ISP . The “best” CDN may change over time.

slide-7
SLIDE 7

Content Delivery Today

Content Provider (CP)

Content Legend:

Broker

Control

Client Client Client B B B CDN CDN How do brokers and CDNs impact each other? (this talk)

What we don’t understand well is how the decisions made by the broker affect the decisions made by the CDNs and vice-versa. To exacerbate this— currently brokers and CDNs don’t have an interface; they don’t explicitly communicate with each other to make decisions, potentially leading to problems.

slide-8
SLIDE 8

Contributions

  • Identify challenges that brokers and CDNs create

for each other by analyzing data from both

  • Propose a CDN-broker interface based on an ad

exchange that benefits both

In this work, ** we identify these problems by analyzing data from both, as well as ** propose an initial CDN-broker interface to fix these problems based on an ad exchange.

slide-9
SLIDE 9

Potential Problems

Content Provider (CP)

Content Legend:

Broker

Control

Client Client Client B B B CDN CDN

First— potential problems: we group potential problems into two categories: ** problems faced by CDNs and ** problems faced by brokers. (Let’s dig into these)

slide-10
SLIDE 10

Potential Problems

CDN Broker

  • Coarse CDN-level selection

complicate meeting CP goals

  • Incomplete measurements

complicate meeting CP goals

  • Difficult debugging

CDN

  • When traffic is unpredictable,

flat pricing model makes profits unpredictable

  • Brokers cause CDN traffic to

be unpredictable at short
 and long timescales making provisioning difficult

CDNs face traffic unpredictability at both short and long timescales, making provisioning difficult. ** When traffic is unpredictable, CDNs flat pricing model makes profits

  • unpredictable. Brokers face a different set of problems **, but in this talk, we’re going to only…
slide-11
SLIDE 11

Potential Problems

CDN Broker

  • Coarse CDN-level selection

complicate meeting CP goals

  • Incomplete measurements

complicate meeting CP goals

  • Difficult debugging

CDN

  • When traffic is unpredictable,

flat pricing model makes profits unpredictable

  • Brokers cause CDN traffic to

be unpredictable at short
 and long timescales making provisioning difficult

S e e P a p e r

… focus on problems CDNs face. For insight into problems faced by brokers, read through our paper. First, ** let’s look at how unpredictable traffic makes provisioning difficult for CDNs.

slide-12
SLIDE 12

Potential Problems

CDN Broker

  • Coarse CDN-level selection

complicate meeting CP goals

  • Incomplete measurements

complicate meeting CP goals

  • Difficult debugging

CDN

  • When traffic is unpredictable,

flat pricing model makes profits unpredictable

  • Brokers cause CDN traffic to

be unpredictable at short
 and long timescales making provisioning difficult

S e e P a p e r

Specifically, let’s first focus on short term unpredictability, then talk about long term unpredictability.

slide-13
SLIDE 13

Short-term Unpredictable Traffic

CDN Client CDN Broker

Content Legend: Control Congestion

What % of traffic actually switches CDNs? Makes short-term provisioning (load balancing) difficult

B Client B Client B Client B Client B

Let’s look at this example. Here we see a client getting content from Akamai, but ** now there’s congestion. A broker can jump in (mid-session) ** and move this client ** to another CDN. Now imagine, instead of a single client ** this happens to a large number of clients. Clearly, moving large numbers of clients from one CDN to another ** makes short-term provisioning (i.e., load balancing) difficult for both CDNs. Does this problem actually happen in the wild though? Let’s look at data from a broker to find

  • ut ** what % of traffic actually switches CDNs.
slide-14
SLIDE 14

Short-term Unpredictable Traffic

40%

  • f video delivery sessions switched

CDNs during lifetime

Makes short-term provisioning (load balancing) difficult

We got data from a large broker involved in video delivery. The data contains video sessions from clients over one hour. We find that ** 40% of sessions switched CDNs during their lifetime. There’s a nice graph of this in the paper in detail. Thus when a broker is involved, ** CDN load balancing is potentially more difficult.

slide-15
SLIDE 15

Potential Problems

CDN Broker

  • Coarse CDN-level selection

complicate meeting CP goals

  • Incomplete measurements

complicate meeting CP goals

  • Difficult debugging

CDN

  • When traffic is unpredictable,

flat pricing model makes profits unpredictable

  • Brokers cause CDN traffic to

be unpredictable at short
 and long timescales provisioning difficult

S e e P a p e r

Now that we’ve seen how short term traffic unpredictability affects provisioning, …

slide-16
SLIDE 16

Potential Problems

CDN Broker

  • Coarse CDN-level selection

complicate meeting CP goals

  • Incomplete measurements

complicate meeting CP goals

  • Difficult debugging

CDN

  • When traffic is unpredictable,

flat pricing model makes profits unpredictable

  • Brokers cause CDN traffic to

be unpredictable at short
 and long timescales provisioning difficult

S e e P a p e r

… let’s look at how long term unpredictability.

slide-17
SLIDE 17

CDN X Client Client Client Client Client Client Client CDN X CDN X

Long-term Unpredictable Traffic

Let’s step through another hypothetical example. ** Here we see many clients in Pittsburgh, and ** one client in this rural area. ** ** Here we see CDN X’s clusters.

slide-18
SLIDE 18

CDN X Client CDN Y Client Client Client Client Client Client CDN X CDN X

Long-term Unpredictable Traffic

CDN X builds many delivery clusters so that their clusters are always close to clients, providing good performance. ** CDN Y takes an alternate approach, opting for fewer, high-capacity clusters with a cheaper price.

slide-19
SLIDE 19

CDN X Client CDN Y Client Client Client Client Client Client CDN X CDN X

Do we see similar patterns of CDN usage relative to city size?

Long-term Unpredictable Traffic

Makes long-term provisioning (DC location, capacity, etc) difficult

A broker sees that CDN Y can provide adequate performance at lower price, moving all the clients in the Pittsburgh area to CDN Y’s cluster. In effect, the broker pushed CDN X out of the major city, only using it in rural areas. This goes against traditional provisioning wisdom— there is no longer positive correlation between number of clients in a region and the number of delivery clusters that should be placed in that region, ** in effect making long-term provisioning difficult (e.g., datacenter location, capacity planning, etc.). To see if this is an issue in practice, let’s look at broker data ** to look for similar patterns in CDN usage relative to city size.

slide-20
SLIDE 20

Long-term Unpredictable Traffic

Broker Data

200 400 600 800

# of Requests per City 20 40 60 80 100 % Used in City

CDN A CDN B CDN C

On the x-axis, we see cities sorted from large on the left to small on the right. On the y-axis we show which CDNs served clients in those cities as a percentage. The color series show the three CDNs explicitly labeled in our data as A, B, and C. The rest of the clients were served by “Other CDNs” which were grouped together in the data and are not plotted. To better understand the trends…

slide-21
SLIDE 21

Long-term Unpredictable Traffic

Broker Data

200 400 600 800

# of Requests per City 20 40 60 80 100 % Used in City

CDN A CDN B CDN C

… we plot best-fit lines over the data. The key takeaway is that CDN A is being used pushed towards specialized “small city” delivery. This CDN is similar to “CDN X” in

  • ur previous example: this CDN builds many delivery clusters both in large and small cities, but is more expensive when compared to its competitors. Thus, when other

CDNs can provide adequate performance (in big cities— on the left), the more expensive CDN A is avoided. But in smaller cities (on the right), the performance gain of having a cluster closer outweighs the increase in price, thus CDN A is used more.

slide-22
SLIDE 22

Long-term Unpredictable Traffic

Broker Data

200 400 600 800

# of Requests per City 20 40 60 80 100 % Used in City

CDN A CDN B CDN C Makes long-term provisioning (DC location, capacity, etc) difficult

As mentioned, this make long-term provisioning difficult, as client location is no longer a good indicator for proper datacenter placement.

slide-23
SLIDE 23

Potential Problems

CDN Broker

  • Coarse CDN-level selection

complicate meeting CP goals

  • Incomplete measurements

complicate meeting CP goals

  • Difficult debugging

CDN

  • When traffic is unpredictable,

flat pricing model makes profits unpredictable

  • Brokers cause CDN traffic to

be unpredictable at short
 and long timescales making provisioning difficult

S e e P a p e r

Now that we understand why traffic has become unpredictable, let’s understand why this impacts CDN profits.

slide-24
SLIDE 24

CDN Cost and Pricing

CDN Client Content Provider (CP)

Legend: Content

Internal Costs: Bandwidth (mostly)

To understand CDN profits, we need to understand their internal cost and revenue. ** We were told by a large CDN that their internal cost comes predominantly from paying ISPs for bandwidth.

slide-25
SLIDE 25

CDN Cost and Pricing

CDN Client Content Provider (CP)

Legend: Content

Internal Costs: Bandwidth (mostly) Do bandwidth costs differ across geographic regions?

A natural question is if bandwidth costs differ across geographic regions.

slide-26
SLIDE 26

CDN Cost / Byte Delivered

30x

difference in cost per byte between the most expensive and least expensive countries

We got data on the cost per byte delivered from a major CDN for the top 20 countries with the most requests. There was a ** 30 times difference in cost between the most expensive and least expensive country. I want to explain how we’re going to represent these internal costs, so let’s go through another hypothetical example.

slide-27
SLIDE 27

CDN Internal Cost

CDN Y Client Client Client Client Client Client Client CDN X CDN X CDN X

Here we see a zoomed in map of Europe. We have ** many clients in Poland and just one in Germany, but more importantly, we have ** ** two CDNs, one with multiple

  • clusters. We’re going to represent the delivery cost for individual CDN clusters as dollar signs listed on each cluster.
slide-28
SLIDE 28

CDN Internal Cost

Client CDN Y $ Client Client Client Client Client Client CDN X $ CDN X $ CDN X $$$$

So here we see all the clusters in Poland are cheap to deliver from, but the cluster in Germany is very expensive. With that picture in mind, let’s know learn how CDNs price their services.

slide-29
SLIDE 29

CDN Client Content Provider (CP)

Legend: Content Money

External Price: Flat across large geographic regions; not linked to cluster internal cost

CDN External Pricing

Content providers ** pay CDNs for their delivery services. CDNs negotiate their prices with content providers via long-term contracts, ** which generally have fixed prices across large geographic regions (e.g., continents). The key point is that these prices don’t relate to specific clusters’ delivery cost.

slide-30
SLIDE 30

CDN External Price

Client CDN Y $ Client Client Client Client Client Client CDN X $ CDN X $ CDN X $$$$

Going back to our hypothetical example; let’s say …

slide-31
SLIDE 31

CDN External Price

Client CDN Y $ Client Client Client Client Client Client CDN X $ CDN X $ CDN X $$$$

Content Provider (CP)

CDN Y CDN X

CDN Pricing

$$ $$$

… the content provider negotiated the following contracts with CDN X and Y: it will pay X three dollar signs per byte delivered and Y two dollar signs per byte delivered. As I mentioned before, these are flat rates across whole continents. If that’s the case, a broker might allocate clients …

slide-32
SLIDE 32

CDN External Price

Client CDN Y $ Client Client Client Client Client Client CDN X $ CDN X $ CDN X $$$$

Content Provider (CP)

CDN Y CDN X

CDN Pricing

$$ $$$

CDN Y makes money, CDN X loses money

… like this. All clients in Poland go to CDN Y as it’s cheaper and can provide adequate performance, and the client in Germany goes to CDN X as it is the only option that can provide adequate performance. Clearly, ** CDN Y makes money as its spends one dollar sign on delivery, yet charges the content provider two dollar signs. However, CDN X loses money as it is charging three dollar signs to the content provider, but only delivers data from it’s expensive four dollar sign German cluster. If some of its cheaper Poland clusters were used it could make money, but they are avoided in favor of the cheaper CDN Y.

slide-33
SLIDE 33

CDN External Price

Client CDN Y $ Client Client Client Client Client Client CDN X $ CDN X $ CDN X $$$$

Content Provider (CP)

CDN Y CDN X

CDN Pricing

$$ $$$

Do we see traffic patterns like this at the country level?

We want to know if something like this actually happens, so let’s look at data from a broker to see if traffic patterns like this exist at the country level.

slide-34
SLIDE 34

Country Level Traffic

1 2 3 4 5 6 7 8 9 101112131415

Country (Anonymized) 20 40 60 80 100 % Used in Country

CDN A CDN B CDN C Other

Here we see broker data with client requests binned by country. On the x-axis we show the 15 countries with the most requests. The y-axis shows which CDNs served what percentage of clients in each country. I want to point out two key points of interest: …

slide-35
SLIDE 35

Country Level Traffic

1 2 3 4 5 6 7 8 9 101112131415

Country (Anonymized) 20 40 60 80 100 % Used in Country

CDN A CDN B CDN C Other

6 7 8

… country 8 is predominantly served by CDN B, with few clients served by CDN A. Country 7, on the other hand, is served mostly by CDN A, with few clients served by CDN B. Recall that there’s a 30 times variation in cost between some countries.

slide-36
SLIDE 36

1 2 3 4 5 6 7 8 9 101112131415

Country (Anonymized) 20 40 60 80 100 % Used in Country

CDN A CDN B CDN C Other

6 7 8

Country Level Traffic

If country 8 has high delivery cost, CDN B has difficulty making a profit. If country 7 is cheap, CDN A can easily profit. Flat pricing model makes profits unpredictable when traffic is unpredictable

With that in mind, if country 8 is one with high delivery cost, CDN B has difficulty making a profit. If country 7 has low delivery cost, CDN A can easily profit. What this all points to is the larger problem, ** the CDN flat pricing model makes profits unpredictable when traffic is unpredictable (e.g., due to brokers).

slide-37
SLIDE 37

Potential Problems

CDN Broker

  • Coarse CDN-level selection

complicate meeting CP goals

  • Incomplete measurements

complicate meeting CP goals

  • Difficult debugging

CDN

  • When traffic is unpredictable,

flat pricing model makes profits unpredictable

  • Brokers cause CDN traffic to

be unpredictable at short
 and long timescales making provisioning difficult

S e e P a p e r

Now that we understand some problems facing CDNs in a world with brokers, let’s talk about how we can fix these problems.

slide-38
SLIDE 38

Potential Problems

CDN CDN

  • When traffic is unpredictable,

flat pricing model makes profits unpredictable

  • Brokers cause CDN traffic to

be unpredictable at short
 and long timescales making provisioning difficult

Pricing should reflect cost Make client allocation explicit

We can address unpredictable traffic by ** making client allocation explicit among CDNs, and address the flat pricing model problem by ** have pricing reflect cluster delivery cost. We propose a CDN-broker interface that directly addresses these problems using these two ideas, taking inspiration from…

slide-39
SLIDE 39

New Interface (ad exchange)

CDN Y Broker CDN X

Has estimate of cluster to client performance Knows current clients’ locations and requested content

CP Goals

… an ad exchange. As with before, ** CDNs still estimate cluster to client performance. Brokers still ** know about current clients’ locations and what content they’ve

  • requested. But, from here things differ.
slide-40
SLIDE 40

New Interface (ad exchange)

CDN Y Broker CDN X

Has estimate of cluster to client performance Knows current clients’ locations and requested content

CP Goals

  • 1. Announce current

clients to CDNs

  • 2. CDNs send “bids”

for clients to broker

  • 3. Broker accepts bids

Cluster-level bids for groups of clients, with performance estimates and prices

Our CDN-broker interface is a control plane protocol that runs in the background periodically. Conceptually, it consists of three stages, here drawn as arrows. First, ** the broker announces the current set of clients to all CDNs. Second, ** the CDNs send “bids” for clients to the broker. These bids ** are done per cluster for groups of clients, with performance estimates and some notion of price. Finally, ** the broker sends back a list of accepted bids to the CDNs.

slide-41
SLIDE 41

New Interface (ad exchange)

CDN Y Broker CDN X

Has estimate of cluster to client performance Knows current clients’ locations and requested content

CP Goals

  • 1. Announce current

clients to CDNs

  • 2. CDNs send “bids”

for clients to broker

  • 3. Broker accepts bids

Does this interface address

  • ur previous problems?

Let’s look at how this new proposal addresses the problems we saw previously.

slide-42
SLIDE 42

Example

Client CDN Y $ Client Client Client Client Client Client CDN X $ CDN X $ CDN X $$$$

Content Provider (CP)

CDN Y CDN X

CDN Pricing

$$ $$$

Recall this example. The problem was that CDN X is making less money than it’s spending, as it’s expensive German cluster is the only one used by the broker. With our proposal, individual clusters within the CDN can have bids with different prices reflecting their delivery cost. Let’s fix this example by splitting CDN X into two different groups, Germany and Poland.

slide-43
SLIDE 43

Example

Client CDN Y $ Client Client Client Client Client Client CDN X $ CDN X $ CDN X $$$$

Content Provider (CP)

CDN X

CDN Pricing

$$ $$$$ CDN X CDN Y $$

Now, CDN X can price their German cluster at cost, while pricing their Poland clusters to be competitive with CDN Y. As CDN X is now priced competitively in Poland, the broker …

slide-44
SLIDE 44

Example

Client CDN Y $ Client Client Client Client Client Client CDN X $ CDN X $ CDN X $$$$

Content Provider (CP)

CDN X

CDN Pricing

$$ $$$$ CDN X CDN Y $$

… may move some traffic in Poland to CDN X, …

slide-45
SLIDE 45

Example

Client CDN Y $ Client Client Client Client Client Client CDN X $ CDN X $ CDN X $$$$

Content Provider (CP)

CDN X

CDN Pricing

$$ $$$$ CDN X CDN Y $$

CDN X can compete with

  • ther CDNs across regions

… allowing CDN X to compete with other CDNs across regions.

slide-46
SLIDE 46

Potential Problems

CDN Broker

  • Coarse CDN-level selection

complicate meeting CP goals

  • Incomplete measurement

complicate meeting CP goals

  • Difficult debugging

CDN

  • When traffic is unpredictable,

flat pricing model makes profits unpredictable

  • Brokers cause CDN traffic to

be unpredictable at short
 and long timescales making provisioning difficult

CDNs and brokers clearly can cause issues for one another. ** Some of these issues we examined in depth, which …

slide-47
SLIDE 47

Potential Problems

CDN CDN

  • When traffic is unpredictable,

flat pricing model makes profits unpredictable

  • Brokers cause CDN traffic to

be unpredictable at short
 and long timescales making provisioning difficult

Pricing should reflect cost Make client allocation explicit

… led to some natural solutions. Using those solutions, we propose a CDN-broker interface …

slide-48
SLIDE 48

Benefits

CDN CDN

  • Dynamic pricing allows CDNs

to be more competitive with

  • ther CDNs
  • Explicit client allocation

makes traffic more predictable helping provisioning

Pricing should reflect cost Make client allocation explicit

… that can help CDNs make traffic more predictable to ease provisioning, as well as allow CDNs to be more competitive, potentially leading to increased profits.

slide-49
SLIDE 49

Déjà Vu

ISP stitching

Goal:

CDN stitching

Goal:

BGP

Enabler:

Brokers

Enabler:

10+ years of research

Result:

Call to arms!

Result:

Finally, I want to draw an analogy between CDN stitching and ISP stitching at the dawn of the Internet. Both have an enabler: BGP or brokers. ISP stitching though spawned 10+ years of research, yet as a community, we’ve just scratched the surface of the problems in CDN stitching. There’s interesting research still to be done here. With that, I’m happy to take questions. Thanks!

slide-50
SLIDE 50

Questions from Audience

  • Why would this work when CDN federation has not?
  • Broker & CDNs both serve CP. It’s a tweak to an existing market, not

creation of a new one.

  • Does the bidding protocol make actual content delivery slower?
  • No, the bidding protocol is a periodic offline control plane protocol. The

data plane is still the same as today.

  • Why “auctions”? Why not dynamic pricing?
  • Dynamic pricing can be just as difficult (e.g., stability, convergence,

fairness), rearchitecting might be the best approach. Also, there are

  • ther gains we didn’t touch on in the talk (e.g., ability to use CDN

clusters that the broker can’t currently see— see paper)