>> Jin Li: It's my great pleasure to introduce Mr. Joe Jiang. Joe get his bachelor degree from USTC, University of Science and Technology in China in 2003. Then he went to Chinese University of Hong Kong for master. His supervisor is John Lu [phonetic] and I mean Gary -- sorry, Doman Chu [phonetic]. And after he get master, he went to Princeton University, and he's now a PhD student supervised by Jennifer Rexford and Mung Chiang. Without further delay let's hear what he has to say about cooperative content distribution and traffic engineering in an ISP network. >> Joe Wenjie Jiang: Thanks, Jin. And thanks everyone for coming to this talk. And I'm very glad to present my talk here. And during the talk, you are free to raise any questions and give any comments to improve my work. So basically I would like to have this talk in two parts. Now, for the first part, I'm really presenting this piece of work which is really recent. And about this cooperation between ISP and content providers. And in the second part of the work, I really like to grab some time to talk about my ongoing research and the research road maps. I'm interested in doing peer assisted live streaming assistance. So okay. First talk about the first part. So this is -- this work is a collaboration with Ray, who is a post-doc in my group, and also Jennifer and Mung. So nowadays there are two types of people on the Internet today. One is the Internet service providers, ISPs. So these people they deploy the services providing connectivity to end users. So their main job is to make the decision how to route a package. So here are a list of the major ISPs in America so they are the tier one ISPs here. So as I say, their major job is to route packets. And on the other hand, there are another type of people who are content providers. So they're utilizing the existing connectivity from the ISPs. And they generate and distribute their content to the end users. So nowadays because of the existence of content providers so the marginal revenue of the ISPs is getting -- is getting decreased because these content providers would directly provide the content to the end users and may share, gain a larger share of the total revenue from the end users. So here are a list of these possible content providers like the largest CDN network, Archima [phonetic], and all these other kind of peer-to-peer networks. So as you can see, there's a variety of technology used here for content providers, either from these kind of content distribution network based or peer-to-peer based. But their major job is to decide where to find a content. So this is their main job. So despite the -- some kind of the economic conflict between the two types of people, now we're in this talk we're really trying to see what is the technical task between the two types of people. So this picture shows a high level interaction between the two people here. So from the ISPs perspective, their main job is to do traffic engineering, to route the packets. So from their point of view so they will view the background traffic and all these traffic generated by the content providers as a constant. So they include this -- these parameters and generate the routes. And on the other hand, interestingly for the content providers, this is kind of a mirror image to each other. So in the content provider's point of view, this routes, the routing somehow is considered as a constant. And their job is to maximize the user performances by assigning servers or peers to the appropriate users. So the content provider will decide the traffic from a server to end users. >>: So it just seems like a bit hard because it's so different than [inaudible] together. >> Joe Wenjie Jiang: Yeah, yeah. >>: [inaudible]. >> Joe Wenjie Jiang: Yeah, it's -- I agree that. Like these P2P technology is quite different from the server selection I'm talking about here. So in here mainly like referring the content providers is like Archima [phonetic], CDNs. Yes. So this is the major focus of this work. >>: And when YouTube is different on the other way, right, they're just -- they're just sourcing the content, right, they're not [inaudible] or peer-to-peer? >> Joe Wenjie Jiang: Yeah. But there's some commonalities. Like they also want to replicate the content over many locations. And they choose appropriate servers for the end users. >>: Right. So they would use [inaudible] >> Joe Wenjie Jiang: Yeah, you can say -- you would say CDN, but CDN usually refers to [inaudible] base like they like to store the web objects and they use different technologies. But the high level architecture is kind of similar. Okay. So and the interesting points that the two [inaudible] here form a feedback loop. So later let's see what's going on in this picture. So now there's some tussle between the two types of people, but cooperation somehow is possible. Like nowadays, the ISP is trying to deploy their own content services like ISP their promoting this triple play. You can have the Internet access, you have phones and you also have the IPTV. So there stands a chance that the traffic engineering somehow can be generally optimized with the serviceable optimization, so this is good news, which represents a promising direction that the ISP can do. So in this talk, I'm going to talk about the cooperation. What are the possible cooperation models and how can an ISP to choose between these different models and how to trade-off them. So this is the contribution about work. So first of all, we ask the question, can we model the current status today? So how can we model the interaction and is there an efficiency loss? And the second question, after we observe some, some efficiency loss, then we're trying to probe some possible cooperation models there. Then after we have these models, then naturally we want to choose the best one. So there's always a trade-off between these performance information exchange an fairness or architectural complexities. So I'll guide you through this models and see what might be the best model the ISP should choose? So this is the main contribution of this talk, of this work. So here's my outline. But first of all, I'll briefly discuss the cooperation models and model the current status, how traffic engineering and serviceable action is done. Then I'm going to analyze the performance of these models and see their process counts. Then I will propose the right solution, using a [inaudible] design, using the solution concept called Nash bargaining and show you some performance evaluations. And finally I will conclude the talk. Now, okay, now let's go into the cooperation models here. Now, the first model is really no cooperation which is reflecting the current practice today. So notice that in this picture so the ISP is doing its own job, given the traffic matrices it produces the routes. But from the content provider's point of view, it has no information about the network. So what we observe, the vanilla information that the content provider can get is the entering information. So it either matches the network or do other fancy algorithms to infer the network status. But the entering information is the minimum information that the content provider can directly get from the network. So in this model [inaudible]. >>: What is the traffic provider has multiple ISPs that needs to be ->> Joe Wenjie Jiang: Yeah, yeah. >>: And they do signal back and forth because the content provider is buying capacity in the data centers from the ISP. So they have to declare how much capacity they [inaudible]. >> Joe Wenjie Jiang: Yeah. True. I think first point is very good. So they -- and content provider made cross-multiple ISPs. So that makes the scenario more complex. But here that's narrowed down to the case that when there is only one single ISP and only like concentrated on the performance issues. And secondly, this content providers of course can buy capacity for an ISP. But if you're -there's so many content providers but for some of them they don't have these kind of separate backbones, so they really have to like share the pipes of the ISPs with other traffic. >>: [inaudible]. >> Joe Wenjie Jiang: Yeah. Yeah. >>: But by -- they buy like let's say ten [inaudible] or whatever they buy and much less and in a datacenter ISP knows they [inaudible]. >> Joe Wenjie Jiang: Yeah. So that's why they somehow need to sign a contract, right. Yeah. So in this case, I'm going to like talk about so what kind of like if you have no contract so what is the best you can do. And why you should have some -- sign some contract like this and what kind of contract you should have. Yes. So this is the first model. Remember that in this case that content provider only has the minimum information. Now let's proceed to the second model. So in this case, suppose the ISP is generous, given all the information to the content providers. This information concluded topology, the capacity, all routes. So the content provider can make a better decision to optimize his own network. So in this case we caught partial cooperation because the content provider is given more visibility of the network. In this case we are going to Model how the content provider can utilize this information and optimize its performance. So this is the second model. >>: [inaudible]. >> Joe Wenjie Jiang: The topology. >>: The routing. >> Joe Wenjie Jiang: The routing. >>: And the [inaudible] currently utilizations? >> Joe Wenjie Jiang: Yes. Sure. And the third model is a joint design. So in this case, they are no separate entities there. So we can think of it as a black box here. So in this case, this is joint design. So given the background traffic matrix and the use of demand, so it's possible that to optimize the routes and the serviceable action at the same time. So we call it cost cooperative serviceable action and traffic engineering. So this is a joint design for a third model. So from now we keep these three models in mind. >>: [inaudible] single content provider? >> Joe Wenjie Jiang: Yes. In this case. Yeah. So before going into all these models, I just want to give a quick review of the results obtained from this study. So to study models, we really want to evaluate from four dimensions. The most important is of course the optimality gap. And secondly is how much information exchange between the two types of people. A third is the fairness. Because they are -- the objectives of the TE and CSS may be conflicting. So how to trade off the fairness. And last is the architectural complexity. So the major results here are highlight here. So as we can see for the optimality gap, the model won with no cooperation has the largest gap, and it can be improved from model two to model three. And model two has some special properties there. It is optimal in some special cases. But interestingly you see that in model two when there's more information, sometimes you get hurt. You are not even doing better than model one. So this is one of the interesting observation we found. In the third model, so we propose this joint design, and I'm going to show you how it can be decomposed into still two separate jobs. So without -- with some information exchange and also compare these architectural complexity say, what is the -- what is the most lighted way loaded for you to do, if you want to migrate to another part? So this is the high level summary of my result . >>: Comfortable for who? >> Joe Wenjie Jiang: Optimal. >>: For who? >> Joe Wenjie Jiang: Optimal for both people. Yeah. So I haven't defined the concept of optimality. But later you see. So, yeah, so this is also a trade-off curve. So these are the possible operating points on these three dimensional space with different performance metric. So like in model two, it has the least efficiency. For model two, sometimes improves, sometimes does not. And for model three, it is optimal, but there may be higher communication cost in architectural complexity. So this is -- we really want to find a good operating point on this space. There I'm going to model the existing status quo. So this will be a quick review of the -- some existing optimization models. Now, first of all, I'll talk about traffic engineering. So for traffic engineering, the major problem is for the network operators to minimize the congestion of the network. So given the traffic matrices on the network, destination peers, so the ISP either [inaudible] flow to find the best optimization. Like this. So here we assume that they can use a multi pass routing in this case. So to give a more accurate formulation, so here's the traffic engineering problem. So the first thing of topology and the links and the nodes. And second input is the traffic matrices, which is exactly the load between any pairs of this source and destinations. And we use the variable XIJ to denote the traffic flow from I to J. And the output is the routing. In here we're not really modeling the current status like these kind of using link weights. But we are trying to use a more general decision space using the multi community flow. So here decision RIJL is the fraction of the total traffic from I to J that is traversing [inaudible]. So here's just an example of the possible solutions of the flow. So we see that they should satisfy the flow conservation here. So now I haven't talked about the objectives of the ISPs. So the objective of the ISPs to minimize congestion and so they have the objective function here as a sum of the all the link, link cost. So the link cost is a function G of the total traffic on the link which is denoted as FL. So the cost function is something like this convex non decreasing function to reflect the goal that ISP don't want to have high link utilization here. So in the formulation. So here the links should satisfy the capacity constraint and the second line of the constraint is just a flow conservation. So this is the optimization model. So this is classical, which is not my contribution here. Yes? >>: So do you consider delay here? >> Joe Wenjie Jiang: Delay? From ISP's perspective, the -- to try to avoid link overutilization is the main goal. So delay is there not their primary concern. >>: [inaudible]. >> Joe Wenjie Jiang: Yeah. Yeah. Yeah. So but using these objective function so somehow you automatically try to find [inaudible] like if you go longer pass then you see that if you sum over all these links. Because the traffic use small links. So the low link automatically increases. So this objective goes higher. But this objective function is just general formulation that is used by ISP to make the routing decision. >>: ISP is going to care about delivering the project to its customers. >> Joe Wenjie Jiang: Yes. >>: Its broadband and [inaudible] systems. >> Joe Wenjie Jiang: Yeah. That's true. >>: [inaudible] transit traffic. >> Joe Wenjie Jiang: Yeah. >>: Distinguish ->> Joe Wenjie Jiang: So I think in this model I'm not really concerned this decision. I think this is the general behavior that ISP does. Just do the routing. And of course there's exist a possibility that you consider, specially consider the routing of the subscribe users like the content providers. Like here just assume that they do not differentiate the traffic between the background traffic and the content provider's traffic. Okay. Let's clear. Okay. So now in here I'm trying to model the serviceable action problem. So as I say assume that in this context I'm trying to model the case that the content provider can replicate different copies of its content to different servers. So its main problem is to assign the for every end users. So for example the ISP wants -- the content provider wants to optimize the average user perceived performance like the delay or other -- the transmission rate. So for example, we care about the latency here. So in a special case, the ISP, the content provider can do low balancing. So here the end user actually is not the normal end user, is maybe a edge blotter that aggregates the traffic from all the end users behind the -- behind the local ISP. So it's going to decide for every edge router what is the load to each of the servers. So this is the decision space for the -- for the content provider. So for the problem the input is still -- so suppose now the ISP -- the content provider has the full information, so he has to input up the topology and has to routing and all these kind of user demand. User demand is really like the rate, you have to satisfy for each of the end users. So its decision available is here, the server user rate. We use this IST to denote the server and designate an end user. So this is really the decision available for the content providers. And it has to satisfy the constraint that it meets the demand. So here I give a optimization model for the server selection problem. Assume given the assumption that it has the complete information, which is really the model to here, so in this case suppose the content provider wants to optimize the usual latency but if you rewrite the -- this objective, you can -- it can be formulated as a sum of the cost, link cost, but the cost function is different from the ISP's link cost function. So here, this is the user cost function and this [inaudible] denotes the content provider's traffic on the link, and here is the total traffic includes the content providers and the background. Background traffic and which satisfy the capacity constraint and meets the demand here. So to give you better understanding of what this function may like, say if you want to optimize the average delay of the users, so a simple way is to do this weighted delay. So D is the delay, latency function of the link. And here is the amount of CP's traffic on the link. So by using this objective function, it maps to the average delay of all the users. So this is one of the example we be considering here. So is that clear about this model? Okay. >>: [inaudible]. >> Joe Wenjie Jiang: It's -- I'm not reflecting charging here. Yeah. The economics here. So but if you go to the first provider for the content provider it does not have the complete information. So we assume that the CP only observe the end-to-end cost, like end-to-end latency, which is pretty much like the -- what the CDN Archima [phonetic] is doing, like use DNS to choose the closest server to each of the users. So we are building this model reflecting the current practice in some sense. So in this case the serviceable action choice is called greedy, which means that I always choose the server with the smallest latency. And you can do load balancing whenever possible. So that basically means that if you can use multiple servers, then these servers will have the same latency. Otherwise you can switch some traffic to a better server. So this is theoretical similar to so called service molding which can achieve this [inaudible] equilibrium, which means that okay but given this model there's no self oscillation from the CP's perspective. You can study the equivalent point of the CP. And you can show that this greedy serviceable action is minimizing like this function. We're just not relevant to the contents here, but just give it here. You can plug in to the optimization model here, then it is modeling the greedy serviceable action behavior. >>: [inaudible]. >> Joe Wenjie Jiang: D? D is the latency function, link delay function. Yeah, so this is not my work. So this is some theoretical work. Yes? >>: So then the problem -- not part of this problem is where to put your servers? >> Joe Wenjie Jiang: Yes. So I'm not modeling the server replacement decision because it may happen in a very different time scale compared to the traffic engineering. You just get to play your servers, yeah, right before you start your business. So, yeah, that might be a very important problem. But in here, we're just trying to model that. Okay. We're not trying to model how content provider can do from a clean state but rather what a content provider and ISP is experiencing in a current status quo and how can you improve them. So of course, maybe you can do some replace servers using some vitalization, but that might be a different model. I mean here just assume that the content provider is the -- the decision is that serviceable action. Okay? Yes? >>: I'm not sure I understand this equilibrium, so this conclusion [inaudible] the counter providers does their own adjustment and hold the traffic and changes get feedback to the ISPs? And ISPs do their own [inaudible]. >> Joe Wenjie Jiang: Yeah. Yeah. So I suppose that the equilibrium point is achieved before the ISP take another round of action. So this is an assumption. Yeah. So that is it. Of course when you do this greedy serviceable action, there might be some oscillations. But we assume that it converts to a stable point before the ISP takes another action. Okay? So I don't see how to model the interactions by using a two player game and how they solve the game later. >>: So assume the equilibrium will be achieved before the ISP do anything. >> Joe Wenjie Jiang: Yeah. Yeah. >>: So this is purely based on the content where it matters adjustment. >> Joe Wenjie Jiang: Yeah. Yeah. So okay. So after finishing modeling, the current practice so now we're going to analyze the performance of this model one and model two, when the traffic engineering and serviceable action two separate problems. So we're going to find a set of good news and bad news. So to study their interaction they just, the two problems are separate, and they have the kind of feedback loop, so game theory is a next tour to start their behaviors. So in this setting we formulate as two players to TG game. So two players, ISP and CP, and their action staff is the routing and the serviceable action decision, and the utility functions is just connective of the objectives of T and SS. So consider special game play and which is like the two players were iteratively optimized the best response, using the best response. Which means that in each round one player will fully solve their problem before the other user takes action. So this is the way how the game is simulated, okay? So in this game setting, so we are going to study the probabilities. So first of all I'm going to bring you some good news about this. Now, the first theory shows that the strategic game has equal in point for both model one and model two. So this is good news which basically means that okay, it is possible for the two parties to settle down to a stable point and there will be no oscillation. And it is this stable point that you can study the -- at which you can study the benchmark performance. So this basically means that, okay, this provides a good -- so a way to study their performances. Otherwise if the performance is always oscillating, it will be hard for us to track the benchmark performance. But the Nash equilibrium may not be unique, which is very problematic as I will show later. And secondly, it may not be achieved through iterative optimization. This is not going to go from the theory, it just says -- the theory just says the existence. So where it shows this -- the achievability of the equilibrium point using simulation, in most of cases it converge. So this is about the stability of this interaction model. This is the first news I bring to you. >>: Yes. The Nash equilibrium if it's not unique and multiple, the equilibrium points, are you saying that [inaudible]. >> Joe Wenjie Jiang: They're not -- unfortunately, they are not. >>: So one might be better than the other? >> Joe Wenjie Jiang: Yes. So from the T's perspective, from an ISP's perspective, usually the objective value is the same, but for CP it may not. So, yeah. >>: Is this different from like hill claiming optimization? >> Joe Wenjie Jiang: Yeah, it's kind of hill climbing, yeah. So when you solve the game. Although you don't have a synergistic objective function, but you're optimizing through different variables, yeah. So interestingly, so this is the second news. Which is good. Which is global optimality on the same objective, which is just go back to your crash net, this hill climbing algorithm. So when they have the same objective function that you can see there, they actually solving this optimization problem. This game is solving this problem. So they have two variables. One is the routing, one is the serviceable action. So the optimize iteratively over two variables. And think about this. This is not a good formulation. Because for this game formulation, it is not in a [inaudible] form. So you're not guaranteed that this kind of hill climbing algorithm can achieve this optimality. So instead, we look at this global optimization problem. So in this case, they have the same objective but we relaxed the decision space which is the -- I use the XSTL here which denotes I can directly assign exact amount of traffic on the link rather than the percentage of the traffic. So you can simply think of this new variable as the product of the two variables here. But of course by using this you have a blotter decision space and we caught this optimal value of this problem as global optimality. So the natural question is can we -- can this kind of game formulation achieve this global optimality? So the answer is yes. So the theory shows that the special case game can -- is unique. The Nash equilibrium of this special game is unique which is optimal but optional and can be achieved by this kind of alternate best response place. This is the good news. Which basically means that under the special case we assume there's no background traffic. Well, this is not so true, but you can see that if the content providers traffic is increasing on the Internet, then this is somehow a trend that goes through towards this assumption. >>: Wait a second. [inaudible]. It's mostly content provider. No one content provider is going to have the bulk of the traffic ISP. >> Joe Wenjie Jiang: Yeah, yeah, no one single content provider, that's true. Yeah. >>: [inaudible] does it seem like a single content provider can significantly [inaudible] to [inaudible]? >> Joe Wenjie Jiang: No. That might be the case that when the ISP deploys the content services [inaudible] so in this case, it may have the separate backbones. So in the separate backbone if there's routing problems and also this content [inaudible] problems, in that case, the content traffic will constitute the order of the traffic. >>: So unless you [inaudible]. >> Joe Wenjie Jiang: Yes. So you can -- it can be differentiated into two cases. One is when the link is under low utilization and when a link is at high utilization. Yeah. But also the link delay function not always depends on the load but also depends on the location. In some cases the link may have a very large propagation delay. And that is exactly difference between the objective functions between the ISPs and content providers. So actually this theoretical model shows that. So what happens when the objective function is similar, and what happens when the objective functions are dissimilar, and what bad things may happen? Yeah. This is the starting point of this, of this research. Okay. So I assume that ISP and CP have the same cross-function here in this special case. Well, this is partially true because sometimes the low utilization may mean low delay [inaudible] but in some case is not because when some link have very large propagation delay as these probably won't care, but the content providers will care about that. So this theorem has the implication that if these assumptions is held true then there's no need for alternate control. By doing this it is good. >>: I don't quite understand the no background traffic. Was that an assumption of the previous [inaudible]. >> Joe Wenjie Jiang: In the previous [inaudible]. >>: Is it because you're just saying there's one other ->> Joe Wenjie Jiang: Yeah. This is assumption of this theorem which shows that when their objective function is the same, so here ->>: Traffic function is the same part? >> Joe Wenjie Jiang: Yeah. >>: Where is the part about no background traffic. >> Joe Wenjie Jiang: So no background traffic means here. The cost function is the variable of the total traffic on the link. So if there's background traffic, then the -- this objective function for content provider would not be a function of the total link on the -- it may be a function of its own traffic. So that's why we need the -- there's no background traffic there. >>: [inaudible]. >> Joe Wenjie Jiang: Yes, no outer traffic. Yeah. In fact, we have, but, yeah, we're just trying to explore the -- what is the like the [inaudible] value can achieve. This is something that [inaudible] tells you. >>: Can you just subtract the background traffic from the link [inaudible] and assume that the link has [inaudible]? >> Joe Wenjie Jiang: If you can do this kind of ->>: [inaudible]. >> Joe Wenjie Jiang: No, all these traffic share the link. So they share the same queue. They essentially interact with each other, unless you do this kind of physical division. Like you have this kind of separate backbones. Right. So the first -- after the good news there's bad news. The first bad news is about the paradox of the extra information. So this information basically said when the content providers given more visibility it is not guarantee to do better. So think about it. In the difference of the CP model in model one and model two is that in model two it can -- has complete information, and it can solve the optimization problem to its fully solve the problem. But this information tells you that in that case although it seems that you can fully solve the problem, you are not guaranteed to do better. And here I'm going to show you why this bad scenario can happen. So here I'm just using a simple example to illustrate the high level ideas about the paradox. So think about so there are two servers in the net -- on the CP's network. So the user can either choose this server or this server or do load balancing. And there are two background flows from this A to D and A to E here. So for each of these source destination pair, either the background or the content provider's traffic, it has the ability to go through two links [inaudible] here, okay. Like from B to F, it goes BD or BE. Okay? So we assume that the four links [inaudible] here are bottom links. So we don't care about the delays on the four links here. This is just a example I set to illustrate anomalies. So these -- now, suppose the two links, CE and BD here have large propagation delay which the CP tries to avoid because it cares about delay but ISP only cares about the utilization. So in this case, when ISP solve the TE, it is trying to do the work that all links will have the same utilization, okay? And the serviceable action is trying to minimize delay, so you should somehow avoid using links BD and CE because has high propagation delay. Now, consider the equilibrium points of the two models. So we say that the paradox may happen when the traffic engineering assigns more CP traffic to the 2 links with high propagation delay. Because essentially the ISP don't care about the -- may not be caring about if user perceived delay. But if it more cares about the link utilization. So it has a way to arbitrarily assign the background traffic and CP traffic on the links as long as the links is slow utilized. Like in this case. So the paradox happens when in model two [inaudible] unfortunately assigns more CP traffic to the bad links. So in this case, no matter how the CP wants to optimize its network and solves the problem fully, it cannot get a better performance than model one. If in model one ISP is clever by assigning less CP traffic to the two bad links. Yes? >>: So here [inaudible] using assigning [inaudible]. >> Joe Wenjie Jiang: Yeah. >>: [inaudible]. >> Joe Wenjie Jiang: The propagation delay is concluding the delay function. So the delay function is a function of the total traffic which from theoretical model includes recurring delay and the propagation delay. >>: So where is the propagation delay [inaudible]. >> Joe Wenjie Jiang: It's in the D function, the delay function. Yeah. So that cost function of G and H may be different in this sense. >>: ISP [inaudible] would have a [inaudible] delay from any point, say from land in Seattle [inaudible]. So are we talking about those kind of delays? >> Joe Wenjie Jiang: Yeah. The propagation delay will -- it depends on -- yeah, as you say, the proposition delay is something you cannot control, right? It is just this -- >>: [inaudible]. >> Joe Wenjie Jiang: Yeah. But you care -- sometimes the current delay may be compatible to the propagation delay depending on how loaded the link is. Yeah. Also, the second bad news is about these suboptimality. So this picture shows the bad news. So think about here in model one, model two, so these are the equilibrium points of model one, model two. But if you characterize the all possible operating region between ISP and CP, here is the whole operating region and this is the peridiole curve, which means that you cannot improve one dimension further without hurting another dimension. So this is the peridiole curve. So in this case, you see that the Nash equilibrium is not operating here on the peridiole curve. So there exists some space to get further improvement. So this is the second bad issue we want to address. So now we are trying to have a joint design and which addresses the above problems. So before talking about the real joint design model, so we have two approaches. One is that we have this kind of oracle model, which is like we optimize everything in the black box and we brought the boundary of different layers so all the problems are solved at once. And the information should be shared in the two parties. And they can arbitrary trade-off between two objectives because it is a black box, and you can arbitrarily control the trade-off between the two objectives. Because you can control the whole decision space. So this is the first model like this. And second model is like a modularized design. You still want to have separate, separate modules. One soft TE, one soft SS. So you still allow a layered solution. But with some information exchange. And although you can arbitrarily trade off between two objectives, you want to have a fair division of the benefits. And potentially, you can allow the cooperation between two different business entities because it's not getting together. So this is the model we're working for. So the high level idea of using this joint design is to use this solution concept called [inaudible] solution. So suppose this is the equilibrium point which is status quo, which is the equilibrium point of the model one, which is what may end up today. And there's another point on the peridiole curve. And this solution concept tries to find out this solution. So which is maximized improve the product of the improvement by the two parties here. So this is the high level of solution concept. So there's some engineering implications. But first of all, this somehow ensure fairness because this solution concept is derived from the bargaining process between two players. So it ensure some fairness between two objectives. And secondly, this solution is decomposable, so you can allow us for layer decision, which means that you allow one TE problem and one SS problem, which is of course the new TE and new SS problem but with some information exchange between the two model, between the two modules. And there's no need to explore a large weight parameter space. Which means that otherwise it's hard to trade off between the two objectives which one is more important. And this solution can apply to varying traffic matrix user demands. Otherwise you have to tune different weight parameters for different input. So this is the implications of the solution concept. Yes? >>: Can you define the? >>: So fairness here, well, I don't have a quantitative Nash of the fairness, but the fairness, the notion of fairness is derived from the how the Nash bargaining solution is derived. But for the sake of time I have no time to fully derive the solution. But just give you some information that the fairness is derived from the bargaining. Okay. If you have interest, I have some slides where we can discuss offline. So as I say, the solution concept is derived from these following four properties. Nash bargaining solution. But I don't have time to go through this one by one. And then I'm going to show the evaluation results. So I have some numerical simulations that on these realistic ISP topologies giving these delay user background and traffic model just to realize, just to realize the more realistic settings of the network. So the first result shows what is the impact of the content providers traffic on the network? So it is interesting to see that. So in this setting, we fix the total amount of traffic which is the CP's traffic in background traffic. We fix the total amount. Then we adjust the percentage of the CP traffic as here from no CP traffic to 100 percent CP traffic. Then we match the performance of the SS and the TE cost. We see that as there are more CP traffic injecting into New York, both of the two performances. First thing we do to improve then degrades again. Okay. So this is an interesting observation which means that okay, it seems that if you are running the two problems separately, somehow if they are more CP traffic you are getting better. But when they are too much CP traffic, this kind of separate models will -- will do worse again. So the reason is that for the -- if you look at the traffic engineering cost, so if we have more CP traffic so it means that you have a higher possibility to find some closer by servers so without going long links, so that naturally decreased the link cost here, because you are using less links. But where there are more CP traffic, that means that the conflating objectives of the two parts is really a problem because of the interaction. So because that conflating objectives, then the performance goes up again. So this is the course for this kind of curve. Okay. So there are some similar reasons for the -- from the CP's point of view. So first of all when there are very little traffic, there's nothing much you can do because the ISP always allocate your traffic to some bad links with large propagation delay. There's nothing that you can do. But if you have larger share, the ISP cares about the link utilization. It has a better chance to go to better links. Okay? And when there are more CP's traffic, yeah, then in this case, because the conflating goes between the two parties, then it would sense the performance. So of course here the performance is the average delay for the content provider. So he has nothing to do with the actual amount of the CP's traffic. >>: This is in [inaudible] part doesn't surprise me. The more traffic you put in, the more it's going to cost for both of them. Right? >> Joe Wenjie Jiang: No. Here I fix the total amount of traffic. Total amount of traffic is the same. >>: The total amount being like background plus ->> Joe Wenjie Jiang: Yeah, yeah. >>: Oh, okay. >> Joe Wenjie Jiang: But I just varied the percentage of the traffic. >>: Oh. >> Joe Wenjie Jiang: Yeah. >>: So is it happening because the content provider traffic is on uniform and the background is uniform and so they don't [inaudible] capacity [inaudible]? >> Joe Wenjie Jiang: It's not uniform ->>: So I guess the links [inaudible]. >> Joe Wenjie Jiang: Yeah. Yeah. >>: And the background traffic is uniform? Is that right? >> Joe Wenjie Jiang: Uniform [inaudible]. >>: I'm also trying to understand the [inaudible]. >> Joe Wenjie Jiang: The background traffic, what do you mean by uniform? >>: So I guess. >> Joe Wenjie Jiang: Oh, no, no, no. >>: You're charging for the worse thing giving that, and so the reason it would go up is the -- somehow there are few links that one or two that get a lot of the traffic, right, that's what's happening the way things are [inaudible] so it must be you're focusing more traffic on a few links when there's a large percentage of CP traffic. A few hot links. Is that right? >> Joe Wenjie Jiang: Yes. There's a few hot links, but in the simulation model, the backgrounds traffic is not uniform. So I just like randomly pick out some assign -- it's a random, yeah. >>: Random but unbiased point. >> Joe Wenjie Jiang: Yes. >>: Is there a server and [inaudible]. >> Joe Wenjie Jiang: Every ISP ->>: How do you use the server [inaudible]. >> Joe Wenjie Jiang: Server is -- the server is randomly -- is randomly chosen. Yeah. >>: Not present [inaudible]. >> Joe Wenjie Jiang: Not what? >>: And they are not present in all moments of ISP? >> Joe Wenjie Jiang: The server is not present every node of the ISP. But it's randomly selected. >>: [inaudible]. And whatever the value of the demands. >> Joe Wenjie Jiang: The value of the demand? >>: Of the content provider? >> Joe Wenjie Jiang: You mean the user demand? >>: Yes. Yes. >> Joe Wenjie Jiang: Okay. It is -- so it is chosen to reflect the network load. So as I say, I fixed the total amount of traffic, okay, so assimilate some scenarios when the network is lightly loaded or heavily loaded. So given the capacities, I'm trying to first figure out what is the total demand, then I just assign the user demand according to its, the percentage of ->>: [inaudible] distribution or some [inaudible] distribution or ->> Joe Wenjie Jiang: For the user demand? >>: Yes. >> Joe Wenjie Jiang: It's just -- the user demand is uniform, yes. User demand is uniform. Yes? >>: Can you remind me what is [inaudible] and what is [inaudible]? >> Joe Wenjie Jiang: T cost is just the link cost, it's the sum of the link cost function. >>: Delay [inaudible]. >> Joe Wenjie Jiang: No. The T's link cost function is this kind of convex shape curve, as I showed you earlier. To reflect the link utilization. For the SS cost, it is the sum -- in the model I use this MM 1 delay model and plus the propagation, propagation delay. Yeah. >>: [inaudible] 2 content provider [inaudible] so let's say one is taking 20 percent, the other is taking 80 percent. So they both will have a similar curve, right? But then when you add the -- add the two up, it seems like the total link utilization should be constant, right, if you add let's say you had two content providers and both had a similar [inaudible]. >> Joe Wenjie Jiang: Two content providers. So in this setting there's only one content provider. >>: But say you had two content providers, then it seems like a total utilization should be constant, right, because you said the total traffic is constant, right? >> Joe Wenjie Jiang: Yeah. Yeah. >>: It's just a percentage between one provider and the other provider and keeps changing, right? It doesn't seem like a [inaudible] case it seems like the total utilization would be higher, larger between the content providers. >> Joe Wenjie Jiang: Yeah. So intuitively, yeah, it's true, like just the total like total demand's the same. >>: Right. >> Joe Wenjie Jiang: So utilization is the same. >>: Would be the same. But it seems like when there's a larger [inaudible] between the two content providers the link utilization is higher than the cost is ->> Joe Wenjie Jiang: Because I haven't seen -- well, if they are content providers, there may be self interaction between the content providers, which is not reflected here. >>: Another thing is that you mentioned this oracle model, right, so if you were to pull out an oracle [inaudible]. >> Joe Wenjie Jiang: Oracle is like biggest -- in oracle, you can give different weights to the here. So in that case, it's hard to say how you can assign a weight. So that is why I go for the second model, the modularize design. Yeah. Okay. So let me quickly go through outer results. So this result shows performance improvement over these models. Over model one. So yellow refers to the improvement of model two, and green is the model three. So we see that where the network is under link low utilization, somehow the model three is doing better than model two and is high improvement occurs at the two extremes, when they are let CP traffic or more CP traffic. So this is the general chant for this. There's some improvement. But sometimes the improvement is not very -- is very [inaudible] like this is the percentage of the improvement. Okay. So this is under low utilization, when the links is always spare. So you can see because if link is under utilization, there is nothing much you can improve. But if the network is under high utilization, then the improvement is somehow can be very significant, like in this case can be like here, 80 percent. And also you observe from a simulation that it's kind of -- the paradox of [inaudible] information can happen. Which means that model two will not improve as reflected in here. So this is the -- to see the improvement of the two models. Yes. So I also carry out some understudies in various topologies, and I think I escape this one. So the main -- the main goal of this job is to see the forest through the trees. So now the coexistence of the ISP and the content providers is hard [inaudible] topic and there can be many models like cooperation models, like the P for P working group. People there are proposing the cooperation between peer-to-peer and ISP. So here is just a table that reflects the possible changes to the two players. So either one changed or two both changed, or only one of them changed. So this work categorize the three entries here and show their performances and how much we have to do to migrate to these models. So for the conclusion of this first piece, sorry, I've been running a little more time, so this is the conclusion. So first of all, this is a first step to study this problem. And I just try to propose a solution concept that can give you some insight into which is the right approach to go and I also -- the another contribution of this work is to provide another, an analytical framework to study these, to study the [inaudible] of these models. So before going into the second part, which is very short, is there any questions? >>: Is there any [inaudible]. >> Joe Wenjie Jiang: Yes. The second work is related to some of my ongoing work, which is also related to the potential problems I'm going to solve in here. So that's why I would like to take a few minutes to talk about that. So I'll go very quickly. So the second part of my work is to categorize the performance metrics in peer assisted live streaming system and to see how we can monitor the peer's performance in an efficient way. So the goals of my work is to define these formal languages for the performance matrix in peer assisted streaming system. There are three metrics I'm considering right now. One is rate, another is delay and robustness. So we want to identify these. What are the system bottlenecks contributing to this matrix from some national studies in your real P2P streaming system? So this is some of my work I was doing in the summer. Then my goal is to build some models to quantify this matrix and then how to optimize these matrix and trade off them through the possible design variables. And finally to provide this algorithm design and protocol implementation. So the first one is about the rate limitation. So this is the collaboration work with another post-doc in my group. So in this work, we are trying to categorize the performers bound for a rate. So in this study, we model the live streaming as a -either a tree based streaming or mesh based streaming as a money tree construction. Because essentially for every bundle of the stream it goes to each peer, and these [inaudible] actually spends over all the peers. So it forms a spanning tree. So for different boundaries of the stream, it can go through differently spanning trees. So we're trying to answer the question. So what is the maximum streaming rate given the capacities of all the peers? And the second problem is if you want to achieve the desired streaming rate, so what is the minimum server capacity you need to achieve this? So this, the two problems are actually prime and dual province of each other. Third, if we're going to build these trees, what is the minimum tree depth we can guarantee? So in our, the -- this is our past work. So we ask the three questions in these dimensions. One is that we don't have to [inaudible] for the peers. So for each peer it can have as many children as possible. And second case is that for one peer, it can only have one child. So this is another case with the -- this is the second scenario we consider. And the third scenario is that we can have arbitrary final degree. But we assume that the user is homogenous, like they have the same capacity. And the last case is like don't have the same capacity. They're heterogenous users. So the two that -- the second problem and third problem is what we solved in one of our prior work here, which appear in some metrics last year. So we either give the bound -- both give the bound in how to achieve this bound by constructing these trees. So this is the work we are doing to quantify the rate performance. Another work we do is to quantify the delay metrics. So this is really from the user, user perceived delay, which includes the startup delay and playback delay. So we differentiate the different components that constitute a delay by categorizing them into different groups like the link delay, node delay, and processing delay. And then we give a set of the design variables here. Like in the P2P streaming we can control the size, we can control the [inaudible] the tree depths, streaming rate and the tolerable loss rate and the peer capacity and signaling method. So we try to answer the question with these design variables that we can control, how can we optimize this matrix? So this is one of the tables that -- so we discuss to give the importance of these design variables to each of the components that contributes to the total delay. So in here more stars means the more significance to the total delay. So we also give -- have some simple analytical models to quantify these performance matrix. So this is the high level picture of what I'm trying to do not future. So another component of my work is the P2P traffic management of a real tree based live streaming system the. So in this work we select the locks from each of the participating peers and by using these locks we're trying to quantify the user performance to find out the system bottom next. So which to find out whether these are assumptions about our models is correct. So this is to verify the -- our models, by using these management data. So like here is a high level picture of whether obtain from the management study. So like here, if we think about a tree based streaming system, if this is the over lay tree depth, the tree depth and the Y axis is the lay, so we can see that the delay grows proportionately somehow to the total delay. So this is the case in the real operating P2P system when there is no IP multicast support. But when there is IP multicast support, we can see that the delay is somehow not significant distinct, because in this case if using multicast, the data is not really transferred through the trees, so there has some possibility that even if you have high tree depth, the delay is comparable to the -- compared to the nodes with the low depths. So this is the improvement of their -- of the IP multicasting in their operation of the system. Because this is part of the study I've conducted. So, yes, so this is all of my talk. And any questions? >>: The multicast support include the [inaudible] that you could multicast to your neighbors? >> Joe Wenjie Jiang: It's not ->>: [inaudible] I mean ->> Joe Wenjie Jiang: No, it's like so you can detect a possible set of the peers within the same like IP multicast capable domain like in the same lane. So in that case, this were openly multicast option. So they actually go through the multicast tree, rather than go through the overlay tree. >>: Yeah. So, yeah, try to understand you've got an overlay tree, so [inaudible] some neighbors in the overlay network, and that means you're only going to communicate with those guys and neighbors in overlay network, but you can do so through IP multicast, is that what ->> Joe Wenjie Jiang: So ->>: I mean, or can you IP multicast to the entire ->> Joe Wenjie Jiang: Oh, I see. So -- >>: And in this case, what purpose does the overlay serve? >> Joe Wenjie Jiang: Okay. So the control pass of the multicast is not exactly the same on the overlay tree. So the overlay tree is only responsible for the streaming, data streaming on the -- on the traditional tree based multicast. But for the IP multicast, they have their own control group, so they can discover like which of the peer neighbors are on the same multicast domain. So they are not communicated through the overlay, overlay tree. So that's why you have a possibility to find out more possible candidates rather than just your overlay neighbors. >>: Yeah, but that means that some of the links in the overlay tree are not actually used for streaming data because data is already broadcast in the underlying ->> Joe Wenjie Jiang: Yeah, that's true. >>: So what purpose does the overlay serve? >> Joe Wenjie Jiang: So overlay serves when the IP multicast -- well, first of all, it's not -- it's not possible, okay, when the -- because in most cases if it's in Y area of network, the IP multicast is not possible. >>: Okay. >> Joe Wenjie Jiang: Yeah. So there is ->>: So you could use it wherever you can, basically. >> Joe Wenjie Jiang: Yeah. It's just there, the design [inaudible]. >>: [inaudible] but instead of like the information constantly down from the tree, you might just show very like other nodes within the tree at the same time. I mean, is that right? I mean ->> Joe Wenjie Jiang: Yes. >>: Wait for it to slow down the tree. >> Joe Wenjie Jiang: So before they decide whether the data stream through the overlay tree, so they first would detect whether it is possible to do this IP multicast. Of course some of the nodes are still get data -- still getting the data from the overlay tree. But say, let's say this head on the overlay tree will serve at the head of the -- in the IP multicast. So it is still getting the data from the overlay tree, but forward the data to its descendents, to IP multicast. So it's a combined [inaudible] of the two approaches. Other questions or comments? >>: So [inaudible] between the traffic [inaudible] content provider is pretty interesting. But I wonder whether it's possible to make the objective function of the content providers more realistic. So like say if the performance -- if the performance carries delay, right. >> Joe Wenjie Jiang: Yeah. >>: You don't necessarily [inaudible]. For example [inaudible] good enough [inaudible]. >> Joe Wenjie Jiang: Yeah. Good enough guides. And possibly some ->>: And that's for delay. Throughput is the same thing, right? So if a content provider delivering [inaudible] don't they have a few rates, one [inaudible] doesn't mean too much. Either to one or two. >> Joe Wenjie Jiang: Yeah. >>: [inaudible] probably don't have anything beyond [inaudible]. >> Joe Wenjie Jiang: Yeah. We don't really care about -- sometimes we don't really care about delay. But it's not delay sensitive traffic, it's just we do. >>: Right. Yes. So just thinking the -- this cost function not exactly modeling what [inaudible]. >> Joe Wenjie Jiang: Yeah. So in here, we used the delay function is somehow also convex, so we use the MM1 model. But in fact, so there can be, as you say, there can be different user cost functions assigned to each link which can either be the -- also depends on whether the cost can be additive. Because sometimes if it's not additive, then this model does not apply. I think this model applies to additive cost. Then you can give different -- of course you can give different shapes to the cost function. But in here, I'm just trying to show what happens if the cost shape is quite similar, because in here the cost function of the ISP and the CP is quite similar. And we try to answer the question even in this case what are the possible anomalies and [inaudible] loss. They of course in reality, there can be quite different objective functions of CP and ISP. But in that case, maybe the gap optimality gap will be larger, so I think by using the same cost -- well, quite similar cost function, I'm just trying to show the -- give some insight into these kind of inner action and what will happen. >>: I guess the follow up, on that -- now, this is a competitive environment and did you model [inaudible] the real cost there 95 percent all charging or anything relating to how content provider relate to ISPs? >> Joe Wenjie Jiang: You mean thinking about some economics cost? >>: Right. And you [inaudible]. >> Joe Wenjie Jiang: Right. That's true. So here I'm directly transferring the performance into dollars. But if you think about the real dollars, so in that case, you should really consider multiple, multiple content providers because they can offer different contracts to the ISP, say how much capacity I want to guarantee for this. And, yeah, that's a very interesting problem to study. In that case, you also need to consider these kind of inner ISP policies like in that case because some -- some ISP want to attract traffic where some ISP don't free ride the -they want some traffic to free ride without getting any revenue. [applause]. >> Joe Wenjie Jiang: Thanks. >> Jin Li: Okay. Thanks for the excellent talk.