1

advertisement
1
>> Qiang Xu: So I'm here to introduce Qiang Xu to you. Qiang is going to be
giving his interview talk on mobile application performance optimization. He's
a fifth year student, graduating by the end of April, and he's worked on
cellular network characterization and global application optimization, and he
interned with us two years ago, and he's also worked with other people at MSR
to develop 3G test, which when the FCC opened challenge awards in the area of
network measurement applications, and without further adieu, here's Qiang.
>> Qiang Xu: Thank you. Thanks for joining the talk. I'm very happy to be
here today to present my research effort about mobile application performance
optimization through network infrastructure aware adaptation. Unlike some
existing adaptation techniques, ours are more aware of cellular network or
unique characteristics of cellular network infrastructure.
[indiscernible] smartphones have overtaken feature phones on the market of
cellular network device. And on those smartphones, the traffic generated by
those web applications start to dominant HTTP traffic rather than web browsers.
The increasingly powerful and popular smartphone devices do not necessarily
guarantee acceptable mobile application performance. So very often we will use
those applications [indiscernible] with application will be easily interrupted
by broken network connectivity or slow network connection.
You [indiscernible] network performance without utilizing the cellular network
or the computation utilization very carefully. Those applications will have
any consumption, much higher than we expected.
When we see acceptable performance, the performance actually end-to-end
performance, so we know that end-to-end performance is affected by a multitude
of factors. The network device application, the application will all factors
of the performance. For example in network, the routing, the topology, the
naming addressing resolution, all of them will affect application performance.
Beside networks application is affected by the hardware, the software, the
application implementation. There are so many different types of applications,
different type of applications have very different resource utilization
requirements so we [indiscernible] those applications will have different
performance.
In a [indiscernible] applications, they use different optimization, resource
2
adaptation technique so we can see sometimes their performance differs
significantly.
So what we want to do. In our research, we want to improve mobile application
performance. Again, we want to use those optimization adaptation techniques
different from existing or previous optimization techniques. We want to do
something different. We are more aware of those fundamentally unique
characteristics in cellular networks, such as routing restriction issue,
performance variation issue, and radio inefficiency. So the work flow for our
research path, we identify some unique characteristics in cellular networks.
We try to determine, okay, the impact of those individual factors on the
application performance, and when we develop our design, those optimization
techniques, we take those into consideration.
Let's have a look at what has been done so far. In 2011, we have a project
named the Yellow Page. In this project, we identified routing restriction
issue in cellular networks. Then we investigate what the impact of this
routing restriction issue on latency sensitive applications, such as
[indiscernible].
After that, we have a project, NetPiculet, and it follow-up project, and this
project, we identified or reverse engineered some middle box policies in
cellular network, and [indiscernible] impact of such middle box policy on
networking applications. We also have system named AccuLoc, which address a
particular issue faced by cellular network operator when we want to localize
the work performance to lower aggregation levels that just RNC or base station
level.
Very recently, we start work on project named plural routing. We anticipate
that in the future, internet mobility will dominate the future internet, and so
we propose some internet domain routing [indiscernible] internet architecture
features to keep inter [indiscernible] incremental [indiscernible] upon BGP.
Those projects are [indiscernible] network infrastructure.
[indiscernible] we have a project named the 3GTest, and 3GTest, we try to
isolate the impact of different factors on web application. Beside 3GTest, we
have a project named the Proteus. In proteus, we identify the predictability
of cellular network performance in the [indiscernible] of second. Then we try
to see how much benefit we can achieve if we want to leverage such
3
[indiscernible] for realtime interactive applications.
Realtime interactive application is just one type of application. For other
type of application, those are non-realtime. We have infinity. Infinity is a
scheduling framework that schedules uploading and [indiscernible] requests for
applications and take energy efficiency into consideration. You will want to
move beyond optimizing a single application to many applications. We need to
understand, okay, the usage patterns of those application.
So we have a diversity project. Diversity is a measurement, try to understand
the usage patterns of all the applications that we can observe in cellular
networks.
For cellular network operators, if they want to understand app usage, if they
want to identify applications, the first thing they need to do is for all the
network flow, they need to know which application originates each network flow.
So FLOWR is such system that helps some network operators to identify those
realtime network flows to the applications, individual applications that
originate such traffic flow in realtime ways, minimize supervise learning
effort.
>>: How many of your projects primarily compared to the ones that
[indiscernible].
>> Qiang Xu:
>>:
This one, infinity, proteus, diversity, AccuLoc and FLOWR.
[indiscernible].
>> Qiang Xu: For those projects, I'm the lead student. For others
[indiscernible]. For 3GTest, as you know, I'm the major contributor as well.
In this talk, I'm only going to focus on two of them, proteus and YellowPage.
In Proteus, we work on two problems. First, we quantify or we identify the
predictability in the cellular network performance, particularly in a time
granularity of seconds. And then we investigate, okay, how much benefit we can
see if we leverage such predictability for realtime interactive applications.
We know mobile user experience can be significantly rich by those realtime
interactive applications such as [indiscernible], video conferencing, online
gaming, and even potentially popular product based on Head Up Display, such as
[indiscernible].
4
Five years or ten years ago, when we started to use smartphones, Windows Phone,
iPhone, or Blackberry, at that moment, the computation capability or network
technology even couldn't support [indiscernible]. Now, I think or in the
future, such applications will play a more important role. But we know those
applications are very performance sensitive. So let's have a look at how
sensitive those applications are to network performance.
A very common feature has been overlooked by us for those realtime interactive
applications. Those applications can actually tolerate bad network condition
to some degree. For example, they can add forward correction to prevent
information loss. We can adjust dejitter buffer size. We can even vary the
source coding rate to lower down the requirement on the network bandwidths.
But those adaptations assumes that, okay, the network performance, the network
change is somewhat can be estimated or somewhat predictable so that they can
adapt to the performance change. They can do adaptations. If the performance
change is in a arbitrary, then performance degradation will happen. But we
know in cellular networks, performance variation is really high. At this
moment, round trip time can be up to 100 milliseconds. But in the immediate
next moment can be 200 millisecond or even higher.
So let's have a look at some numbers, ways cellular network performance
[indiscernible]. We have a measurement application in the MobiPerf also known
as 3GTest and 4GTest, which was developed in cooperation with Microsoft as
well.
Based on the measurement collected from 300K users in the U.S., we see in 3G
networks, the round trip time is around 200 milliseconds, whereas the
[indiscernible] 150 millisecond. So the variation really high. Even for LT
networks, the performance better, the round trip time is 20 milliseconds, but
[indiscernible] is up to 50 milliseconds.
>>:
You say that 20 millisecond is a median?
>> Qiang Xu:
This is a median, this is a standard deviation.
>>: So these numbers go directly from your 4GTest paper in [indiscernible],
right? Showing there that the median was about 70 milliseconds, and then the
standard deviation was quite a bit lower than 50.
5
>> Qiang Xu: Right, that paper for the 4GTest paper, that paper we measure
using a Verizon phone in our local location, because at that moment, we only
have LTE just for Verizon. And for 4GTest, the application [indiscernible]
from the United States, these things computed based on the measurement from the
U.S. users. One is the local number, one is the overall number.
>>: Okay. My recollection of the graph was that it was covering more than
local tests, but I'll double check that.
>> Qiang Xu:
>>:
Sure.
The first number is a median?
>> Qiang Xu: The first number is a median, and basically the second number is
the standard deviation.
>>: We've actually done a bunch of experiments right here for different
projects [indiscernible], but we did our own thing, and these numbers don't
come out. The numbers we're seeing in Washington state for the [indiscernible]
measurement do not say 20 seconds. They're more in the direction of 17
seconds.
>> Qiang Xu: I think, yeah, I think it should -- those numbers will be for
based on locations. But ->>: But if you present it as this, this is sort of, you know, if you want to
present it and you might want to put some caveats in there.
>> Qiang Xu:
Okay, yeah.
>>: Because a lot of our calculations are based -- a lot of the systems are
based on [indiscernible].
>>: Also keep in mind that the speed test data shows that in the U.S. for LTE,
the median is around ten to twelve mega bits per second on the down link.
>> Qiang Xu: Okay. So that's confirmed to us when we do measurement, it
depends on the location, the data set forth site.
6
So okay. Regardless of the actual numbers, we [indiscernible] still is a
nature for cell networks. And [indiscernible] reliable adaptations for those
performance sensitive applications, for those realtime interactive applications
will always be necessary [indiscernible] real well smartphone device.
So what's problem do we address? We first want to figure out [indiscernible]
predictability of cellular network performance or in other words what
performance metrics are produceable or [indiscernible] predictability they
have. Particularly in the time granularity of seconds, because we want to let
realtime interactive applications adapt to that predictability.
Then beyond that, we position, we want to position the predictability in
applications. We want to see how to efficiently do the prediction in realtime
and how to support those applications with the performance prediction and
eventually how much benefit we can achieve so let those applications have
performance predictions.
There are several challenges we need to address. First, there are so many
hidden factors in the networks or on devices. The network [indiscernible]
level, the load balancing, the resource allocation scheme, totally unknown to
us. Without knowing such information, it's difficult for us to develop some
sophisticated performance model to do the prediction.
So what we do is we do regression trees. We treat all those hidden factors
together as a black box. We use the regression trees to learn the performance
patterns. One of the advantage of using regression trees is [indiscernible]
effort to projecting the performance model or in tuning the parameters.
The second challenge is the cost of learning predictability for realtime
interactive applications. For realtime application, [indiscernible] realtime
constraint, we can do whatever necessary. We can do active probing. We can do
offline training. But for realtime applications, since we know that's the
nature, the [indiscernible] is a nature of the cell network performance, so
[indiscernible] application, we think the prediction has to be continuously in
realtime and lightweight.
So [indiscernible] passively monitor the traffic.
>>:
So are you doing this [indiscernible]?
7
>> Qiang Xu:
>>:
Peripheral.
Peripheral [indiscernible].
>> Qiang Xu:
[indiscernible] actually I'll talk about later.
>>: I know, but the performance you learn, is that specific to a SQL device or
specific to a setup device?
>> Qiang Xu: The performance is actually a performance model. It's not a
limited device. But the scope of the performance model only covers a shorthand
period. So it's not necessary to cover a device at a time. I think I will
introduce later maybe has a better understanding.
So we [indiscernible] the traffic generated by the applications.
[indiscernible] since we are doing a prediction at the time granularity of the
seconds, most context information [indiscernible] in the network should be
fairly stable. So we think the traffic -- the traffic pattern of these
applications at the time granularity should be very stable. That's why we use
passive monitoring, rather than active probing.
But certain challenges that arise to predictability assume that eventually, we
can predict the performance matching fairly accurately. We still need to feel
those applications with the performance prediction. So we have -- we implement
a [indiscernible] to field those applications with performance [indiscernible].
The library name is Proteus.
Let us have a look at what has been observed in previous [indiscernible] to on
the performance predictability. We know resource allocation happens at each
aggregation levels in cellular network, based on the RNC level or the GGSN
level. So [indiscernible] predictable patterns, either resource pattern or
performance pattern.
In the time granularity of hours, there are [indiscernible] patterns in
[indiscernible] which have been observed in many paper, such as sigmetrics
paper in 2011. In a shorter time granularity of minutes, the [indiscernible]
paper and Mobisys from Microsoft as well. We observed that somewhat latency
can be predictable or has some predictability at a time scale of 15 minutes.
In a further shorter time granularity of hundreds of milliseconds, there's an
8
Mobicom paper observe that [indiscernible] tend to stay in the same modulation
rate for hundreds of millisecond. To us, the most suitable [indiscernible]
granularity is second because we are targeting for realtime and captive
applications.
For example, a typical chunk size for adaptive bit rate streaming can be two
seconds. In order to verify the predictability at the second time granularity,
we run some control experiments. In the controlled experiments, we collect the
more than 400 hours -- more than 400 hours of packet trace. It covers three
cellular networks operators, AT&T, Sprint and T mobile. And also,
[indiscernible] it covers Android and iPhone.
We didn't succeed on Windows Phone, because window phone isn't [indiscernible]
or other packet sniffer. We run most of our experiments in Ann Arbor. Some of
them were collected in Chicago. One thing to mention, that we run most of our
experiments other UDP, instead of TCP, because TCP already has contraction
control and the retransmission.
When we do performance predictability, we want to have the maximized visibility
to network performance. That's we rely on UDP.
>>: So the question was, so 400-plus is nice, but can you give us a sense for
the locations. Like did you do them in one spot in both those locations, or
did you do it in both of those cities, or did you do it in multiple
[indiscernible] in those two cities?
>> Qiang Xu: Yes, for each location -- for Chicago, we do just at one spot.
For Ann Arbor, we do at several network locations. For example, office,
apartment, library. We did collect several ->>: So you did like five, seven locations.
locations?
>> Qiang Xu:
Not like, 20, 50, a hundred
No.
>>:
Okay.
>>:
Did the location move during the one-hour trace or was it stationary?
>> Qiang Xu:
[indiscernible] some packet trace when they are moved, but when
9
the -- when we do experiments, it's been lasting for a while. We need to power
supply during [indiscernible] it's difficult. We do experiments in stationary
condition.
This is a quick evidence showing the performance predictability at time
granularity of seconds. So we -- here, we're showing the distribution of
[indiscernible] correlation coefficient. The correlation, we compute the
correlation at this moment through the [indiscernible] at this time moment, the
correlation between the [indiscernible] like say [indiscernible] seconds ago.
And T is a time lag. So given a time lag, we know that [indiscernible]
coefficient [indiscernible] since we have so many flows, we have distribution
for each given time lag.
And we show the distribution based on percentile values. Apparently, somewhere
around one second, we can see the [indiscernible] correlation coefficient is
nonzero. But we move the time lag to 20 seconds, the other correlation
coefficient is [indiscernible] hard to tell.
So one nice thing we learned from this figure, that the performance, the
[indiscernible] performance is highly correlated with the performance, the most
recent performance. But for the history, say 20 seconds ago, the correlation
is already weak to tell. That's why I say it's not specific to a location
because I just have 20 seconds, the location may now -- the location probably
is [indiscernible] or specific to twice.
So we just do performance modeling at this time granularity.
>>:
So at what [indiscernible] across different time?
>> Qiang Xu: We do different time of day, but later, I will show it's not
actually affected by time of day much. So we think our [indiscernible] choices
collect experiments other different time of day. We didn't specify peak hour
or not peak hour.
>>: [indiscernible] you believe based on this location doesn't matter. And
the reason I disagree with you on that is because I think in conditions where a
signal strength gets particularly poor, or there can be inference from other
devices that are on the same spectrum or [indiscernible] also sort of
contradicts your previous assertion on the numbers on LTE. You were talking
about, well, those previous numbers were from lab experiments and we should be
10
looking at numbers from [indiscernible] experiments. Can you tell us
philosophically why this situation, we should believe those numbers, whereas
when looking at the overall LTE performance numbers, we should focus on a
broader set of data?
>> Qiang Xu: When we, for example, for LTE numbers, we should rely on more
like the lab experiments or the [indiscernible].
>>: Yeah, just tell me philosophically, which is a better choice in one
situation, such as collecting LTE performance numbers and looking at those, and
looking at very fine grain information like this.
>> Qiang Xu: I think [indiscernible] try to optimize for applicant
performance. It depends on [indiscernible] for optimization, it just very
broadly [indiscernible] don't care about, okay, the performance measure is
from -- we probably more care about the performance measure broadly over the
country. We have here focus on that application to granularity is about
seconds. Probably we care more about the experiments [indiscernible] in that
because we see the variation of time granularity, the time [indiscernible] for
variation we see at this moment and next moment so it covers seconds or
minutes.
So probably from that perspective, that, the [indiscernible] is also valuable.
>>: And there is also maybe some logistic difference in these two experiments.
In the past, focusing on maybe ->>:
[indiscernible].
>>: I have one other question. So what is the -- so [indiscernible] packets
coming in [indiscernible] so much of the effect do you see inside these
numbers? Because you've got 0.5 seconds, and this might actually be the way of
scheduling the packets [indiscernible] as opposed to the correlations for
example seeing and that actually depends on how the packets are being sent to
the base station or to the client, right?
So is there a way to parse that out?
>> Qiang Xu: How much contribution of the scheduling in the cell network
affects the overall performance. So I think for 3G, that's definite very big
11
impact. And for LTE, the impact for those scattering is low. But those
[indiscernible] that means when we see the [indiscernible] in cell network, in
LTE networks compared with [indiscernible], it's not the [indiscernible] it
affects the variation.
.
So here, we can actually experiment using counter experiments.
>>:
I'm sorry.
[inaudible].
>> Qiang Xu: They're different types of [indiscernible]. We can experiment
from another 400 packet choice, but you want to make a [indiscernible]
conclusion. We need to figure out the real cause so that we can apply this
conclusion, we can see this conclusion is a common feature in cell networks.
At the time granularity of seconds, we know that the user, the [indiscernible]
level will be -- should be stable, very likely to be stable and we think the
performance is highly affected by the radio resource allocated to a device by
the base station. And the base station allocates the radio station based on
[indiscernible] gathering [indiscernible]. The base station has
[indiscernible] to encourage a device to occupy continued [indiscernible] to
finish the transmission. We did some survey on some [indiscernible] papers and
some base station manuals. We see aggressiveness factor for the base station
to do proportional [indiscernible] gathering is as much as 0.001.
That means a base station encouraged the device to occupy the [indiscernible]
for a certain amount of time and you will do a quick of [indiscernible]
analysis the time for the device to occupy [indiscernible] will be roughly the
time slot for the allocation divided by the aggressiveness factor, which is
0.001. And based on division, it will be 1.67 divided by 0.001 is around one
second.
So that makes us confident on seeing there is predictability performance of
cell network performance.
Once we are convinced about the predictability, we start to design the
regression trees to learn the performance patterns. Intuitively, the
regression tree will be a history window. The performance patterns in the
history predict okay what's the performance in the next time window.
12
And in the history window, we split the time into time window. For each time
window, we know the throughput, the delay, the loss rate. And based on the -based on the performance in the history window, then we predict the last -- the
delay or the throughput. And we also know that the current performance is
mostly correlation with most recent performance rather than performance ten
seconds ago or 20 seconds ago. So we use exponential back off. That means
that [indiscernible] of the regression tree will be the performance in the
previous one-time window, two-time Windows, four-time windows, eight-time
windows or so forth.
To choose sides for the time window or the history window, for time window, we
choose half seconds because we are talking for realtime [indiscernible]
applications. For history window, we choose for 20 seconds, because from the
previous figure, we see the correlation between the current performance and the
one 20 seconds ago is too weak to tell. But that mean those parameters ever
subjective too.
Now we know the design of the regressive tree, we run the [indiscernible] over
all the packets. We want to see what's the performance, what's the prediction
accuracy. Way to prediction and [indiscernible] that means once we can see a
complete history window, which is 20 seconds, we can do prediction immediately.
We value prediction accuracy by comparing the prediction performance matrix
with the actual performance matrix based on the packet trees.
To have a baseline of the prediction accuracy, we compare ways to adaptation
solutions. One is AD-1 and AD-2. AD-1 always estimates the performance of the
next ten window based on the current one. And AD-2 is less aggressive, is
measuring the performance of the next time window based on the average of the
history window.
So let's see the prediction accuracy. Here, they're showing the prediction
accuracy for loss of currents, not loss rate. For loss of cur rents, the
[indiscernible] happens in a time window if [indiscernible] but actually there
is no. We can see the false positive rate for Proteus is consistently low, is
no more than two percent. But for other true solutions, for AD-1, it's up to
20 percent. For AD-2, it's even up to 80 percent. Actually, this is expected
because for AD-2, it's assuming the current performance based on the
performance -- the average performance and history. But we know the
performance correlation between the history performance such as ten seconds or
20 seconds ago is already too weak.
13
Similarly for false negative. Proteus is here. It's a little bit overlapped
with AD-1, AD-2, and false negative is still consistently low, it's one to two
percent. It's also the best.
Besides [indiscernible] prediction, see loss occurrence, we can also predict
the exact numbers for [indiscernible] loss rates and delay. The exact numbers
can help application to adjust like see full error correction.
>>: I have a question about the previous slide.
right-hand side of the graph.
>> Qiang Xu:
So the blue line on the
This one?
>>: Right. So false positive rate for that is like almost 100 percent.
that mean that there's some kind of negative [indiscernible]?
Does
>> Qiang Xu: I think [indiscernible] for this figure, we see that the
performance at this moment, the correlation between the performance at this
moment and this moment is too weak to tell. So that's [indiscernible] estimate
performance based on the actual history. That will be really inefficient. So
the correlation is almost zero. So that means even we do estimation, just the
naive estimation, we still need to look at a very short time window.
Otherwise, it won't be helpful.
>>: I think the point is that if the correlation is zero, you expect it to be
50 percent.
>>:
Exactly.
>> Qiang Xu:
>>:
Let me see.
50 percent.
When you predict, you will have 50 percent of false positive rate, right?
>>: I think what's missing, so you haven't defined here what you mean by false
positive. Do you mean, is it an accurate prediction if it's within X
milliseconds of what the true legacy is? What's your definition of false
positive?
>> Qiang Xu:
I think --
14
>>:
Does that mean that it has to be exactly correct?
>> Qiang Xu: I think it's want to be 50 percent. It will be 50 percent if
quantitatively predict the loss rate. But you do the prediction for the loss
occurrence in the time window. See, if there is one pack loss or two pack
loss, we always consider it's a pack loss. So in that's case, that's where
we're 50 percent, which is pretty -- a loss occurrence is now 50 percent.
>>: What's apriori, I mean, what's the probability that the loss just occurs
without giving it any information?
>>:
[inaudible].
>> Qiang Xu: Here I also want to mention that loss rate is actually not the
loss rate based on packets. It's the loss rate based on window. So that means
for this given time window, there's pack loss. We can see there's loss. So
this pack loss is actually higher than the loss rate based on number of
packets. Also, this is also one reason why this false positive rate is not
like you said, 50 percent.
So this figure I want to show the binary prediction, I can quantitatively
predict like that number, for like set numbers, I use [indiscernible] as
example so for each throughput, I only show 15 flows in the figure by random
sampling. Otherwise the figure will be very unclear. So for each flow, it
show the average throughput on the X axis, and since a flow has so many time
Windows, we show the average error [indiscernible] of the prediction arrow.
Which you can see the performance varies a lot, from 100 KBPS to 800 KBPS. But
the prediction error is still very stable, it's around 10 KBPS with standard
deviation of 10 KBPS.
>>:
Sorry, can you tell me, that for LTE, right?
>> Qiang Xu: This is for 3G.
don't have LTE yet.
>>:
When we did the experiments in our location, we
I see.
>> Qiang Xu:
But we did some quick experiments.
We found for LTE, there's
15
still predictability. I just explained because there is a base station
scheduling, but the time window set and [indiscernible] will be different.
>>:
Can you explain what the error part is on each measurement?
>> Qiang Xu: Oh, the error parts, so for one flow, there are so many time
Windows. For each time window, we have a prediction. So aggregating all the
time Windows, we have a distribution of the prediction error, the average, the
median or the standard deviation. So for each flow, I show one bar. This is
the -- this is the average and standard deviation and the X axis, I'm showing
the average throughput of the flow. I want to show over so diverse network
condition, the performance prediction is stable.
>>:
[inaudible].
>> Qiang Xu: Um-hmm. The prediction errors, not prediction values, will
predict away the actual one. Because we have the package trees, so we know the
actual performance.
>>: But the error bars are on the prediction, not the actual measured
comparison.
>> Qiang Xu: This is -- the error is using the predictive [indiscernible] the
actual throughput and we see the difference, not just [indiscernible]. So we
show the difference here and then we show the average of the difference and the
standard deviation of the difference.
>>:
[indiscernible].
>> Qiang Xu: Actually, not for each throughput value. For all the flows, we
have different throughput value. It will be distributed over the X axis. But
I only show 15 of them to make the figure clear.
>>:
it?
What is the flow? Are they different flows, are they the same?
How are you generating the packets?
>> Qiang Xu:
>>:
More than 400 packet flows [indiscernible] experiments.
They're all different?
How is
16
>> Qiang Xu:
>>:
Do you know how to categorize the flows themselves.
>> Qiang Xu:
>>:
They are different because of different time of day.
How to what?
I'm sorry.
Categorize the flows, how fast [indiscernible].
>> Qiang Xu: Oh, yes, [indiscernible] you mean. It's actually difficult.
Like for gap, previous gap, once gap run over [indiscernible] probing to ask me
the network bandwidth, then UDP. We do very similar thing. At each -- before
each experiment, we run a short time TCP to roughly estimate what's the network
condition. Then we send UDP at this sending rate.
>>: Were you able to figure out a certain characteristic of flows that use
whatever error bars versus others, or is it just all over the place here?
>> Qiang Xu:
>>:
Can you say question again?
I don't understand.
So if your flows are different characteristics, right?
>> Qiang Xu:
>>: Then when you measure all this stuff, it may be different because, again,
if the queues are filled up or they're not filled up, depending on how fast
[indiscernible] responding so you need to sort of say this is the kind of flows
which achieve these are the kinds of errors versus some other kind of flow
achieves certain other kinds of errors. [indiscernible] all the flows are very
much pretty similar to one another, in which case we can actually look at these
bars and say okay [indiscernible].
>> Qiang Xu: Yes, I think for all those flows, those flows have at different
time, different location. That's why distribute -- they distributed over the X
axis. They have different characteristics definitely. But we also show that
in terms of different characteristics, the prediction error roughly -- the
prediction, the error of the prediction in terms of error rate [indiscernible]
roughly the same. Roughly stable.
We just introduce how to build, how to construct regression trees to show the
existence of predictability and prediction accuracy of [indiscernible] trees.
17
So next I'm going to show how to leverage such predictability in applications.
First, the way you [indiscernible] to add sequencing information, because for
regression trees, so important information to compute performance matrix. It's
a packet of sequencing and timing information. If a sender want to send XYZ to
a receiver, the XYZ through the wrapper, we add a sequencing and timing
information over the network. The receiver [indiscernible] wrapper will see
the sequencing timing and track the sequencing timing to the regression tree
and extract the content for the content of XYZ to the application.
This is a very reasonable design to [indiscernible] sequencing and timing
information. We think this way probably is applicable to most type of
applications. So we think this solution can potentially maximize the
applicability. And once the regression tree has the packet sequencing and
timing information, it feeds to the application.
The application, for example, can adjust the jitter buffer size and also send
other information to the sender side. So the sender will get the, for example,
the [indiscernible] error correction, for example, to the adaptation.
And we know that many sensitive applications already include sequencing or
timing information. So we extend our solution, it will be as well. For
those -- now those applications have sequencing timing information. Why don't
[indiscernible] applications feed the regression tree with the sequencing and
timing information. This way, it minimize the overhead of without bothering
the [indiscernible] wrapper.
Very recently, we realize that many those applications, realtime interactive
applications use RTP. RTP already has sequencing and timing information, and
so we can easily locate those sequencing timing information just using
[indiscernible]. And using [indiscernible] the application just send and
receive as they were without knowing Proteus library. [indiscernible]
performance prediction from the Proteus library. So we think the very recent
design potentially maximize the transparency to applications.
Now we valued the benefit of such predictability using video conferencing.
Video conferencing application does two things. First, it collects a
performance prediction from different prediction solutions, like Proteus, AD-1
or AD-2 while ensuring that these were comparing across the different
prediction solutions how to guarantee the natural condition is the same.
18
Once it get performance prediction, it adjusts a source coding rate, the
forward error correction and the dejitter buffer size to make performance
adaptation. [indiscernible] our approach we can't use H.264 reference software
to achieve that. But currently, there is no such open course platform for open
source encoding/decoding platform for mobile.
So we did three things to address those issues. The goal is to achieve
equivalent mobile video conference [indiscernible]. First, we modified the
H.264 reference software to enable per frame adaptation. That means for each
frame, we can adjust the source coding rate, the amount of FEC, forward error
correction and the dejitter buffer size.
Then we modify the H.264 reference software on a laptop. This is
[indiscernible], actually. We run it on laptop. In order to guarantee that
different solution, different predict solutions have the same -- have
reproducible natural conditions, we replay those 400 packet [indiscernible]
with dynamically encoded content over a different prediction solutions. Let's
see how we do that.
This is example of the original packet trace we collected in our
[indiscernible] experiments. In each packet, we have a sequence number time
stamp and the random place holder, random content in the packet. On the
receiver side, we periodically, the receiver periodically send those place
holder packet. In our experiment, those place holder packs are some random
values.
But in our evaluation, we refill those place holder packets with the predict
loss throughput or latency using different prediction solutions.
On the sender side, once they see a prediction packet, it compute the source
coding rate and the forward error correction accordingly and color the frame
according to the source coding rate. Then replace a content of those random
content with a newly encoded content. So we can evaluate the perceptual video
quality on the receiver side. This is a quick example, visual comparison
between Proteus, AD-1 and AD-2 and also TCP. I'll explain later how we compare
with TCP.
This is a quantity comparison where you use fifth percentile PSNR to show the
perceptual video quality. And similarly for each flow, we have a distribution
19
of PSNR. We show the fifth percentile PSNR because we think it reflects user
[indiscernible].
We can see for Proteus, and OPT means hypothetical optimal. They are very
close, hypothetical optimal is that at this moment, always know the performance
in the next time window so I can add forward error correction. I can adjust
the dejitter buffer side and adjust source coding rate. You can see they're
almost identical, just slightly worse.
Definitely is much better than 81 and 82. We also compare with TCP, but there
is an issue, how to guarantee the same network condition between TCP and UDP.
What we do is for each TCP flow, we found -- we try to find the most similar
UDP flow based on average throughput. Then we show on a figure to compare
different solutions. For TCP, it's even worse than the case without
performance prediction. That's actually well known. It's roughly 20 DB.
The previous fifth percentile PSNR ->>:
So how do you determine the network is the same across --
>> Qiang Xu: I cannot ensure for TCP and UDP. For each TCP flow, I try to
find out which UDP flow is similar to the TCP flow. So I based on average
throughput.
>>: Yeah, but for the UDP flow, how do you make sure the network condition
across different 81, 82 or [indiscernible].
>> Qiang Xu: That's how we do here. Wait for different prediction solutions.
This original packet tracing, original packet we have place holder packet.
Those are place holder packets field weights random values at the very
beginning. But one way to prediction, using different prediction solution, we
reveal those packet with the performance prediction.
>>: But this is not running on the real mobile network?
controlled experiment; is that right?
This is under some
>> Qiang Xu: This is controlled experiments because we want to guarantee same
network conditions. So we replace those packet of trees, [indiscernible]
previously and see over those packet trees how much benefit we can achieve.
20
>>:
Have you run the experiment on real mobile networks?
>> Qiang Xu: On real mobile networks, there's another difficulty. It's the
encoding/decoding stuff don't work on mobile platform. Currently, it only
works on desktop. We tried to cross compare that. We didn't succeed.
>>:
What about with USB [indiscernible]?
>> Qiang Xu:
>>:
With USB [indiscernible], that's possible.
Can you run this over --
>> Qiang Xu: We can run this over the USB dongle, but the that we cannot
guarantee same network condition. We can see we received the video quality.
We received the video.
>>: But if your scheme is better than [indiscernible] prediction, then if you
run it over enough time, you should see a statistic difference, significant
difference between the two.
>> Qiang Xu:
>>:
Yes.
[indiscernible].
>> Qiang Xu: Just very simple task.
experiments to show.
We don't have enough number of repeated
>>: Running your experiment is not much different from running
[indiscernible]. You just run it for some time or some location and repeat it
over different time of day. You should be able to see something
[indiscernible].
>> Qiang Xu: Should be. Actually, if there is no -- if there is no such
limitation of running those encoding/decodings on mobile platform, definitely
we will do that. Just so there is no such thing on mobile platforms. So we
think just why don't you just let using packet of trees to show the comparison
across different prediction solutions.
The fifth percentile show more like the quality, video quality affected by
loss. That means the predict loss is lower than the actual loss. So we lost a
21
frame. Then
overestimate
correction.
resource and
FEC overhead
we see bad video quality. We also want to show how -- if we
the, say, the packet loss rate, we add more forward error
Here we add more forward error correction, it wastes network
energy definitely. So we want to show -- we want to compare the
due to overprotection.
The bottom part is actually the necessary forward error correction you need to
add to prevent information loss. And the top part is showing the additional
forward error correction. For Proteus, it's around 5 KBPS. For the other two,
roughly you can tell, 20 KBPS. Even higher.
So in Proteus, again, we did three things. We first to verify or confirm the
predictability of cellular network performance at a time granularity of
seconds. Then we design the Proteus to provide applications with performance
[indiscernible]. Then we evaluate how much benefit we cannot achieve by
leveraging such performance predictability. It's almost identical to
hypothetical optimal. It's a little over estimated because we replayed a trace
rather than do the computation on mobile device. And we compare with existing
adaptations solutions in terms of PSNR. We have 15 DB improvement.
>>: When you say prediction accuracy delay, what are the error bars on the
delay and is the loss there the loss rate or just whether you lost the packet
in that?
>> Qiang Xu: Here I show the result based on loss of current. That means for
100 time windows, for 98 of those time window, we can predict any packet loss
or if there's no packet loss.
>>:
For each time, it was a half second?
>> Qiang Xu:
>>:
For each time, we know it's a half second.
What about delay?
>> Qiang Xu: Delay is similar thing. Delay is higher than the human tolerable
delay. 115 milliseconds. Then we can see, similar to loss, we consider false
positive and false negative. Also, we can quantitatively predict those numbers
as well. But just here just show the binary prediction.
22
>>: So if you were trying actually predict the loss rate, how would these
numbers look?
>> Qiang Xu:
You mean quantitatively predict the loss rate?
>>: Yeah, so rather than not predicting a binary, yes, there won't be loss,
there won't be loss in a half second window ->> Qiang Xu: It will be very close to the actual loss rate. That's why from
this -- from the previous figure, we say it's almost identical to the
hypothetical optimal. Otherwise, it will be lower than the blue points.
The second project I'm going to quickly introduce is YellowPage. In this
project, we identify the routing restriction issues on cellular networks. You
may already know at this moment, but at that moment, it's unknown to most of
us. And we investigated the impact of such restriction issue on latency
sensitive applications such as [indiscernible].
The motivation for the project is actually from the observation about cellular
network -- cellular IP dynamics. This figure is showing this observation. So
for all those blue points, it's showing that your location of a single cellular
IP address. You can see the single cell collar IP address to your location
over time can cover the entire southeastern part of the United States.
In comparison, we plot the location of internet IP address, it's limited to a
pinpoint on the map. So we want to figure out what's the reason for the
cellular IP dynamics. And we think this may affect those typical IP-based
applications on the internet.
So let's review the cellular network infrastructure. This figure is showing
the important network elements along the path from a smartphone to the
internet. The base stations are RNC and GGSN. According to 3G PP, GGSN is a
Gateway for -- it's a first IP hub from the -- on the path from the smartphone
to the internet where IP allocation happens as well.
So we think there must be something related to ways GGSN results in the
cellular IP dynamics. So to specify our problem, we want to determine the
internal of cellular network infrastructure, starting with inferring the
placement of GGSN inside of cellular networks and we expect this will be the
23
root cause for the cellular IP dynamics. Then we investigate the implications
of such routing restriction issue in cellular network.
>>: So by placement, do you mean where, like, where geographically does GGSN
start or could it be topologically where ->> Qiang Xu: Actually, it's not important where exactly location of the GGSN
placement. We are more care about the network location of those GGSN so we
know how it affect the network applications for IP-based application.
So placement is not a physical, physically placement.
>>:
Wasn't this working with the folks at AT&T?
>> Qiang Xu: We had some observations. We confirm with AT&T. But we -- the
solution we propose didn't rely on AT&T's information or other carrier's
information.
So we have the challenge comes from two aspects. Limited visibility and IP
dynamics. In terms of limited visibility, one way -- so [indiscernible] want
to discover the internal of network we do trace route. We do trace route from
device on internet we found most of the -- most of the hubs is just private IP
address with large host name or domain information, which is difficult for us
to infer [indiscernible] information.
In the reverse direction, we do tracer from the internet to the phone.
often, the probes are blocked by the [indiscernible] in the middle.
Very
Another [indiscernible] solution that okay, I have a cellular device. I term
which base station connects with my device and then which RNC connects with
those base stations. Eventually, we know which GGSN connected [indiscernible]
RNCs based on the propagation. But this -- those lower aggregation levels,
those are transparent to us. Those are [indiscernible] information for a
cellular network operators, we don't know.
The second challenge aspect is IP dynamics. In our experiments, we want to
control IP address to do some experiments, but we see for a while, or even with
the [indiscernible] we will lose the IP. It will appear as somewhere far away.
We don't know.
So our solution to that, we consider geographic coverage of IP.
It's a
24
side-channel. We expect that those IPs where it's the same geographical
patterns or same geographical location distribution should be highly likely
allocated or managed by the same GGSN. So the question say that if we can
determine the geographic coverage of each cellular IP address, then we can
roughly infer the placement of those GGSN. So the question is how to determine
the geographic coverage of IPs.
We use two [indiscernible]. One [indiscernible] is a location search service
named YellowPage. It's very similar to Yelp. On the server side, we know that
the IP address of the HTTP request and the GPS location of the request.
The second dataset is 3GTest. No need to measure. It collects some, like the
carrier information, the IP address of each time the user run our experiments.
Then how to infer a GGSN placement based on geographical coverage. We think
there should be some correlation between the GGSN placement and the geographic
coverage. So once we know the geographic coverage of IP address, we group and
cluster them to figure out some patterns of those Joe graphic coverage. Then
[indiscernible] GGSN placement. I'm going to show some examples.
First, let's see how do we determine the geographic coverage of those cellular
IP address. In terms of number ->>: Can I ask a question about [indiscernible]. As I understand the top box
in ivory, you're saying that you expect that the IP for any -- that the devices
using for any given communication, as viewed from the public internet side, is
going to depend upon where the device physically is located in the
[indiscernible]. Is that what your claim is for all communication on the
internet?
>> Qiang Xu: We think, okay, for one IP address, it can be allocated to so
many different devices. So for each IP address, then we can have geographic
distribution for geographic coverage.
>>: Right, but are you saying that the device will always use the same IP
address?
>> Qiang Xu:
No.
>>: Depending on where its geographic location is? Or does it -- what I'm
questioning is there doesn't seem to be anything in there about who it's
25
talking to. Do you see that the -- for a given device if I'm here right now
and I try to connect to, say, some website in California versus some website in
Florida, am I going to be using the same IP address on the public internet for
both those communications, or might I go through some different egress point
into the public internet that allocates a completely different IP address for
that communication?
>> Qiang Xu: I think you will be allocated by the same Gateway. But if you
use a device, you see communicate with the server in Washington and a server
say at Michigan, over a very long time, the IP address may be different.
>>: I have the same issue in at light. So technically, you can have different
IP addresses. So for each phone, you can have different classes of service
that are essential to find by the APN settings. So you can have multiple APNs
tied to each 3G or 4G connection, and those can technically be served by
different GGSNs. So you could contact different services out on the internet
via different IP addresses. So I think your point is valid in that in some
situations, that can happen. I don't know whether the U.S. operators actually
do that. I do know they have multiple APNs, but I don't know if phones -- I'm
not aware of any phones in the U.S. that connect to multiple APNs
simultaneously. There are international ones that do that.
>>:
[indiscernible].
>>: Yes, so that was my second question is basically, is there an assumption
here that all GGSNs offer the same APNs that the provider has? Because I know
technically, you can have, talking about three APNs, you can have some GGSNs
serve APNs one and two, other ones that serve two and three, and so you may not
necessarily have this correlation, direct correlation between geographic
location of users and what [indiscernible] IP they're likely to be served out
of.
>>: I believe there is a service where APNs can be given to some corporations,
right?
>>:
[indiscernible].
>>:
In which case you would see the kind of results, I think.
>> Qiang Xu:
I think first I need to clarify that, how to define GGSN.
If
26
GGSN just a single machine, then it's right, so different APN should probably
go to different single machines. But if you see GGSN probably as a cluster of
machines. It's serving same, roughly the same geographical area, then you can
consider them together as the same GGSN cluster.
So in that case, you have different APN profiles, although you connect to
different GGSN individual machines, but still you are [indiscernible] the same
GGSN cluster. They definitely, with the design system, we want to isolate the
functionality of different GGSN machines. Some of them may serve one APN, some
of them will serve the other.
>>: That's within the datacenter, right? I mean, it's still a valid
configuration to have GGSNs or cluster GGSNs in one datacenter serving a subset
of APNs and GGSNs in another datacenter serving and potentially overlapping the
different set of APNs.
>> Qiang Xu:
>>:
You mean at the same time?
Yes.
>> Qiang Xu: At the same time, it only happens when there is some specific
service, because there's still some motivation for a device to keep IP
addresses. In that case, even if you move to another location, you're still
talking to a regional goodness. That's probably happened in roaming. In other
words, also another aspect of load balancing, sometimes the -- at this moment,
the IP address may be allocated -- managed by one GGSN. In the next moment, it
may be managed by the other GGSN. So you will take time domain into
consideration.
>>:
[indiscernible].
>> Qiang Xu:
>>:
Is that more than ten or less than ten?
>> Qiang Xu:
>>:
That's what I'm going to answer.
It's less than ten.
For AT&T, it's four.
Yeah, so it [indiscernible] in the last few years.
>> Qiang Xu:
It's difficult to change, actually.
You can imagine the need to
27
set up a very big data center to serve all those RNCs.
>>:
A datacenter is not --
>> Qiang Xu: I search on line for like Cisco, you may provide such GGSN
machines. It's not that large, actually. It's more than we expected.
>>:
So I heard [indiscernible] expanded significantly in the last two years.
>>:
I have been told they expanded from the four that --
>> Qiang Xu: I think that's probably one reason they want to acquire T-Mobile,
because if they acquire T-Mobile, they can share the network. They will
combine those centers together to share common network resource.
Anyway, I'm going to speed up. So how to determine the geographic coverage is
the first question. So we have a location search service. We have to serve -we have to [indiscernible] from the service side for each IP, for each
[indiscernible] request, we know the IP address and we know the location of the
HTTP request. In terms of number of [indiscernible] for each single IP
address, it will be small so we aggregate the IP address in the [indiscernible]
using [indiscernible] and it gave us a [indiscernible] prefix. So the first
dataset we have for each [indiscernible] prefix, we know a couple of GPS
locations. So for each [indiscernible] prefix, we know the geographical
coverage.
Also, similarly, we know the carrier name because it has -- the application has
that information. So for each prefix, we know who's the carrier. And we carry
those things to immediate [indiscernible] table together for each carrier, we
know at least the [indiscernible] prefix and the coverage the BGP prefix.
So the next question is how to infer this GGSN placement based on the
geographic coverage. Here, I show some examples. Clearly, in the top two
figures, those two figures, those two 24 address box share very similar
geographic coverage. They're almost identical covering the eastern part of the
U.S. And for the bottom two, they share another geographic coverage, covering
the southeast part of the U.S.
We looked at our entire dataset, we see there are only limited, say four or
eight geographical coverage over the southern BGP prefix. So intuitive
28
solution here that why don't we just cluster those BGP prefix based on
geographical coverage. So we think the [indiscernible] cluster them, we can
see which, probably which GGSN covers which -- accounts for which BGP prefix.
So we do clustering. I'm going to skip the details how we run those clustering
algorithm, how we tune the parameters. But here I'm showing an example using
AT&T. For each cluster, we aggregate the geographical coverage of the BGP
prefix using a cluster. We can clearly see that one covering the western part,
one covering the south part, one covering the south eastern and the eastern
part.
For AT&T, there are four GGSN clusters. For other carriers, there are roughly
the same number. For T-Mobile, six. For Sprint, eight. And for Verizon, six.
So this means that every time we set up communication between our mobile device
for remote server, it goes through some GGSN which is far away, then reaches
the content server. This is the routing restriction issue.
We validate network clustering through full method. I can give one example.
For example, [indiscernible] patterns. For the BGP prefix, [indiscernible]
covering the western part, we count the number of [indiscernible] for the BGP
prefix, we can see a pattern and we do the same thing for the BGP on the
eastern part. Clearly, we see they are offset.
We also use address solutions to validate our clustering result. Next I'm
going to focus on the implication of such routing restriction issue on latency
sensitive applications, such as CDN.
For CDN, a very important decision for the design is where to place a content.
There are several options. We can place content in radio access network. I
know some of the top companies are working at this. But it requests
infrastructure support, because inside the radio access network is lower layer
than IP. And the second option is to [indiscernible] cellular [indiscernible]
cellular IP networks. It request approval from cellular network operators and
that's why currently, cellular network operators are doing their own content
CDN service.
For [indiscernible] CDN server providers, a cost effective approach may be just
[indiscernible] with GGSN. But intuitively, we know the latency is most likely
decided by the wireless part. So you will place the content close with GGSN,
29
the benefits may be very trivial.
So we want to see how much the benefit is.
We do some experiments. In 3GTest, we send a probe to the first IP hop. Then
we send a probe to 20 landmark servers. For those 20 landmark servers, we use
the one with the smallest latency. And we compare this smallest latency with
GGSN. Here, this is a compare -- this is showing the distribution of the
difference. We can see even place content close to GGSN, we can roughly have
six milliseconds benefit. The six millisecond, when we did the study, it's
very trivial, because it's 3G -- in 3G, the [indiscernible] round trip time is
100 to 200 milliseconds. Six milliseconds is too small.
But in current LTE networks we know the latency is reduced significantly. The
six milliseconds may be nontrivial if we consider [indiscernible] GGSN.
Because there are so many GGSNs, there are so few GGSNs, we just need to place
content close to, for example, four locations. We don't need to consider other
locations. So this can be a cost effective approach.
The second thing that we know there's some inconsistent issue between the
network location and the physical location. If we place a content physically
close to those users, to those devices, we may -- it may be non-optimal so we
compare the latency to the first IP hop and the latency to the geographic
[indiscernible] land mark server and we show the difference.
Placing content close, geographically close to users, it will result in roughly
nine milliseconds additional latency. Again this latency may be considerable
for LTE networks.
So in conclusion, in this work, we identified the routing restriction issue in
cellular networks.
>>: On the previous slide, can you explain why this would ever matter? I
mean, it would seem that the topology closest network, the one that's got the
fastest connection to the GGSN would be more important than what its physical
location is.
>> Qiang Xu: In the [indiscernible] networks, there's a proximity between the
network location and the physical location. So sometimes we simply place a
content as ->>:
I'm saying the wire or wireless?
30
>> Qiang Xu: Wire LAN internet. There is a proximity between the network
location and the physical location. So if we still place content, similarly
just based on the physical location, it will be non-optimal.
>>: I'm still missing, it seems to me that the difference between this slide
and the previous slide is simply showing that the connectivity of the landmark
servers to the GGSNs doesn't exactly correlate to where they're physically
located but rather correlates to what their quality of network connection is.
>> Qiang Xu: This figure is not showing the quality of the network connection.
This figure see we have 20 landmark servers. We do probe to those 20 landmark
server. Some of the landmark server is geographically close to the cellular
device. So we see, okay, for this latency, we compare the latency to the GGSN.
How much is latency inflation.
>>:
Physically close to the phone, not to the GGSN?
>> Qiang Xu:
>>:
Ah.
Yes.
Well, then, again, why would that ever matter?
>> Qiang Xu:
Because [indiscernible].
>>: Just talking about where the GGSNs -- I mean, you're basically showing
that the GGSNs aren't optimally placed or there's too few of them?
>>:
GGSN [indiscernible] location of the phone.
>>:
I'm surprised the difference is worse.
>> Qiang Xu:
The difference is worse compared to --
>>: I would have expected this graph to look worse, because as we know, with a
relatively small number of GGSNs, you've got a relatively large distance
between where phones actually are and where the GGSN is.
>> Qiang Xu: It should be worse, because for 20 landmark servers, we select
the -- 20 landmark servers, we choose, I think for this figure, for the
previous figure, it should be worse because we do for 20 landmark servers and
31
we select the minimum latency. For GGSN, we just do once. So if you do more
number of probe, definitely you will have a better chance to see smaller
latency.
So we do, say, 20 probes to GGSN, we probably will see higher benefits of the
latency.
>>: So what's the [indiscernible] that you're trying to tell us? Companies
like Akamai already put caches in networks, you know. So what's -- what's
something that you're telling us here ->> Qiang Xu: You can not solve all the problems, right. But at least you have
the motivation to push the content close to the user, as close as possible.
And there are several options. But maybe the cause and effect approach, it's
just a [indiscernible] close to GGSN. If they move the content further inside
a network, it will require some additional overhead. So we see, okay, place
content at GGSN, intuitively, we think the benefits will be very marginal, but
the [indiscernible] part, we still think dominance latency.
Here, we quantify that. We see this benefits maybe marginal to 3G networks.
But in the future, in LTE, it's not necessary the case anymore. And also,
people are thinking about okay, let's move the first IP hop forward to the
device in GGSN because GGSN is too far away. If we use the IP hop forward,
close to the physical device, there may be other chance for us to place
content. Just give people idea of placing content is, not necessarily
intuitive.
The contribution here, we identify the routing restriction issue in cellular
networks concluding that for all those major cellular network operators, they
only have four to eight GGSNs. And we also investigated the impact of such
routing restriction issue, latency sensitive application example as
[indiscernible] network and we think that placing content close to GGSNs still
beneficial for particularly in the future. And the benefits can be nontrivial
in LTE networks.
In other research project, we have some observations maybe still beneficial to
mobile application maybe. For example, for NetPiculet, we reverse engineering
the middle boxes and we found that some middle box policies just too
aggressive. They interrupt the TCP connection very quickly.
32
The interruption to TCP connection will lead to energy waste. And application
performance degradation. Also in the diversity project, we found that after
20 -- the local application, you would consider most of the traffic, most of
the content requires is from certain geographic area. That will be a local
application. We actually found that 20 percent of applications are local
applications. So this brings up the question how to place content to close for
some applicant. There are significant local applications how to place content
further close to those users. Maybe [indiscernible] infrastructure support if
the local applications are significant.
We also observed some applications always use together. We previously often do
optimization on a single application, but it may be non-optimal if we know that
they always interfere with other application. Probably when we do
optimization, we need to take multiple applications together.
We also observed that non-trivial applications are used when the user
[indiscernible]. We know that when user [indiscernible], there are lower layer
events like [indiscernible] and the connection will be not very reliable. So
when we design adaptation or for those application optimization for those
applications, we probably need to take reliability into consideration, how to
do performance adaptation for those applications since they are used likely in
mobility.
We also have a system named FLOWR. This, as I mentioned, it's identify the app
identity of the realtime network flows and either cellular network or
enterprise network if they want to apply certain policies on the app base for a
security issues for, like, user -- for content customization issues. And we
found out 80 to 84 percent of those applications are identifiable without
supervised learning. That's in mobile networks.
So I think overall the contribution here in our research is we develop
optimization for mobile applications, and we also address several challenges
faced particularly by network operators. And for some of the solutions,
require some effort in terms of large systems scaleability issue. And that's
all. Thank you.
Download