0:00

If I tell you that you have to wait for a certain amount of time t but then in

return, I'll give you a certain reward, p. Then what is the chance that you will

wait, that a month of time t, okay? Let's say this is a probability, a

likelihood of that you'll be waiting that long for this amount of reward.

Now, what this would be, would depends on, the ratio of your price sensitivity versus

delay tolerance, reflected in this dependance of these two arguments.

So this is what we call a waiting function.

Okay? With a little abuse of notation, we use w

to denote the function as well, w as a function of t and p.

Now this really should be a different function, for different users and

different applications. So, if you got, you know,

50 users each got to less on average, 100 applications then you should have, in full

generality, four or 5,000 different such waiting functions.

But in general, for practical purposes, we'll group them into the similar classes.

For example, we'll say that Alice and Bob, belong to the same class or, email versus,

Facebook update belongs to the same class. And then we'll have fewer functions to

estimate. Now in order to talk more about this, we

need to paramaterize this function, w okay.

Now, we know that w should be decreasing function in t because longer you're asked

to wait, the less change you're willing to wait.

1:36

Should also be at the same time, increasing function in P because the more

pricing functions you're given, the higher the chance that you will wait.

Now of course, there are many currently infinite number of functions that are,

decreasing in t and increasing in p. But one typical and very simple

parameterization is through the following form.

We say that w as a function of t and p, is simply p / t.

Now, this is not the final answer for one thing, the t can be zero, so let's say t +

one. Now, second this is not really

differentiating between your dependence on p versus t.

So one possibility is to get the denominator power beta.

So this is a function that it's parameterize by beta.

Beta is some positive real number that can praumatize a different concept weighting

functions. Now, in general, if you have a large beta.

That means that you are not willing to wait a whole lot.

If it's a small beta, then it means you are willing to wait a lot.

For example, based on our own survey in the US, we found that beta is about 2.027

for YouTube streaming. And, beta is the 0.63554 for video

download, for example from iTunes, okay. So, this, is much smaller number and

therefore reflects a much, more likely chance that it's going to wait.

3:24

So different users, different apps, different demographics and countries, you

can have different betas. Of course you don't have to stick to this

para, particular parameterization, but this is a fairly simple and quite useful

one. And later in the homework one of the

problems asks you to run through an estimation of weighting functions.

Now, suppose you have indeed run through an a y estimation weighting functions.

Now, the second step, after that profiling step, is the price optimization engine.

Here, the price can be viewed as incentive or reduction in price or reward of credit

to your monthly bill. Okay?

So instead of, say, now it's $ten a gigabyte,

I'm going to give you a reduction down to $eight a gigabyte if it's really needy of

incentive for you to shift traffic into this, say, middle of the night.

And maybe $one a gigabyte. Okay?

Now, we're not going to presuppose a particular price.

This should be discovered through an optimization problem.

So, what kind of optimization? As you may recall, we need an objective

function, we need different constraints, and we need variables.

And the rest will be constants if they're not variables.

So, what is our objective function here? For the carriers, there are two kinds of

costs incurred now. One is the cost of exceeding capacity.

5:00

That can translate into user turns or the capital expenditure you need to provide to

increase capacity and overprovision by the peek traffic.

Okay? The other is the cost of reward, meaning that since you are not charging

$ten but instead eight or $one, then you are giving away $two or $nine in these two

cases respectively, for example. So you got two kinds of cars that you want

to balance their sum, and let's say you weighted a sum of them.

Eight is the weighting parameter, some real positive number, times the exceeding

capacity cost to plus the reward cost. We'll see an example in detail soon.

And then the constraint basically is to say that I need to maintain proper

accounting of the traffic for each given period.

Lets say I've got two periods here okay, period one, period two.

The traffic that comes, goes away from period one into period two because of this

incentive versus traffic that goes from period two back to period one because of

incentives. You have to keep track of those traffic

getting in and out of the given period. And the variables are indeed these price

rewards. They are going to shape this part, and

clearly they define this part of the objective, and they are constrained by

your proper accounting rule. This is the optimization problem that

we'll be dealing with. Now before we show any examples, want to

highlight that there are also many system implementation issues involved here.

It's not just a mathematical exercise. As in many of the upcoming lectures in

this course. There are quite a few modules that require

different kinds of coding capability. For example, we need a graphic using

interface, simplest one would be the best, now we have to interface with the IOS and

Android, And or Windows if you use Windows Dongles

for 3G and LTE. We also need traffic measurement, and also

mobility pattern analysis in order to run the profiling engine.

We need a computational engines to run the price setting on a very dynamic basis, and

we need a database, of course, which could be partially split into your phone or

iPads and partially given to the ISP's. Okay.

Which part goes here and which part goes here, would, in part, depends on the

privacy and security concerns. And you also need, of course, scheduling

control software. Some of this may, goes to the end-user

devices. Okay?

Your phone and tablet. Some of that goes into gateways.

For example, in your home, your cable provider may have a residential gateway

together with a wifi. Okay? And some of that, control software

need to go into the backend usually, the control plane of the carriers, for example

we will see later in lecture nineteen something called the PCRF in cellular 3G,

4G networks. Okay?

You need software intelligence across all of these points in the network end to end.

As you can see, this is a gigantic piece of implementation,

Involves many different addiments and kinds of codes.

I just want to highlight that. This also says that basically,

You've got a network. Okay.

This is your network. You've got also end user devices.

9:17

Now, we have run a trial of TDP, in a project called, Data Me here actually at

Princeton with about 50 participants. And the same team is now going to launch

commercial class with a five commercial carriers, including three of the largest

in the US and India. But for this local, Princeton, small scale

trial that has been concluded already, what we have observed is that we can see a

30% reduction in the peak average ratio. That is, you chop the peak.

Okay, read from the average by 30%. Yet, at the same time, you also see

another almost magical thing: 107% increase in the average amount of usage

over, say, a day, or week. The key word is that this is average.

In other words, not only you chopped the peak, dump it to the valley, but also

raise the sea level. Use the metaphor of chopping, say, ice

bergs onto the ocean. The sea level also rise.

The total usage, or average, over day's usage rises affects more than doubles.

Why is that? Well, that's mostly because when people

look at the design. Okay.

I skipped the graphic using today's interface design, cuz it's really outside

the scope of this quarter networking. But one of the implementation gives you a

color-coded tab on your home screen. And, people look at the green button,

instead of red one, knowing that this is a very inexpensive, a cheap period to use

internet. And then, they start to consume more.

So, it leads to both a reduction in cost, and an increase in total usage.

That translates into, better profit for the carriers.

At the same time, it also translates into lower prices, back to the motivating

questions for this whole lecture. Lower prices per gigabyte for consumers

like you and me. Plus, it gives, actually, as a side

benefits, the power to chose between paying more for faster service and paying

less to save money, if you are capable of with willing to wait.

So that is the win-win created by such a TDP trial.

And I just want to illustrate one more time this solid line is.

The traffic over a 24-hour period, without TDP.

And the dotted line is an example of what you get with TDP.

So you can see, it makes this up and down less dynamic.

The ideal case you want it to be straight line.

And say, under the area, under the curves of the same area, let me convert that into

straight lines, so that the area under the straight line is the same as before.

12:36

Now that will be the ideal, but up close, in order to achieve that ideal the rewards

be very high cuz you have to take away a lot of time sensitive traffic.

And the objective function may say that you know, a times the cost of eExceeding

capacity may not be so heavy that it means that you can send out any reward that's

also a cost term. So the balance between these two cost

terms will determine how flatten you want to make this traffic profile look like.

In other words, if I increase this constant a, the weight in front cause

exceeding capacity relative to the cost of sending our rewards.

If I increase that a, then this will be flatter and flatter.

So how can I describe how flat it is? One possible quantitative metrics that if

I look at the straight line, and then look at the difference between this line and

one traffic curve. Say, the one before TDP, okay?

In absolute value, so this will be counted to size this, and this will be counted.

Okay. You add up those error differentials, we

call that residue spread, okay. The spread between, peak and valley.

Then, the residue spread should be a decreasing function of the capacity weight

eight. In fact, on plotting on log scale here you

see that indeed, as a becomes heavier and heavier weight, ISP has one more incentive

to reduce the spread and you see actually, in this particular example, at least, a

very sharp drop off, the cliff behavior. Now, what exactly should a be?

That, I don't know. There's no universally correct answer.

It depends on the actual cost structure again which is very proprietary sensitive

commercial secrets of different carriers. But the general methodology is as we just