>> Jin Li: Hello. It's my great pleasure today to invite Professor Minghua Chen from Chinese University of Hong Kong to give a talk on capacity of large-scale CSMA wireless networks. Minghua got his bachelor and master's degree from Tsinghua University in 1999 and 2001. Then he go to UC Berkeley and got his PhD degree. After UC Berkeley, Minghua spent one we're at Microsoft Research as post-doc researcher and then joined Chinese University of Hong Kong in 2007 as assistant professor. Minghua has won a series of procedures award, including the Eli Jury award from UC Berkeley, ICME, 2009, Best Paper Award, and IEEE Transactions on Multimedia Best Paper Award. Without further ado, let's hear Minghua's insight on how to do scheduling for large-scale CSMA wireless networks. >> Minghua Chen: Thank you. Thanks, Jin, for the introduction. It's always good to come back and, you know, learn new things from the colleagues here and share a little bit what we have been doing in the past year. Okay. So today I'm going to talk about how CSMA network can be made as good as a TDMA network and in a very simple manner, okay? So this is joint work with Chi Chau and Soung Liew. Chi Chau is currently with UC -- University of London -- College London, and Soung is my colleague in the Chinese University of Hong Kong. Okay? Okay. So what are the problem we are looking at? So we're looking at large-scale wireless network when you have N node randomly scatter around in an area of N. Okay? So as the number of nodes increase the area also increase. The density kept the same, okay? It is a wireless network, so you have this spatial inference when one of the nodes is in transmission its radio range will cover a subarea of this entire area and consequently there are some nodes it's not allowed to transmit simultaneously because otherwise they will interfere, okay? So this is the key challenge. And the problem with study is that assume you have N flows with randomly selected source and destination pair, okay, and the question is that what is the throughput achievable for all the sessions? Okay. Different session may have different throughput. Depends on whether your source and destination are closely charter and so on and so forth. But we're asking what is the throughput that is achievable for all the sessions. So essentially the minimum of all the -- of all the session, okay? So to do that, the key challenge is to handle the spatial inference. And as a result, the scheduling is a key. The scheduling is try to determine at any given time which node is allowed to transmit and which node are not allowed to transmit and so on and so forth. Okay? So let's see two very popular scheduling. First one is TDMA, okay? The other one, in particular with study is CSMA. The scheduling need to answer the question before they allow to one transmission; that is, if I'm going to transmit, would I interfere any other transmission or would I be interfered, okay? So in this particular case, there is two transmission that's ongoing, and this node in particular want to decide whether or not I should transmit or not. You need to consider if I start to transmit would I interfere other people's receiver? Okay. So in this case, this guy say if you start to transmit that, I can't receive. So you can transmit. And meanwhile, he also need to consider if I start to transmit would my receiver be upset by some ongoing transmission already in. In this case, this transmitter will have the -- if you have a global information, then this transmitter will say okay, I will interfere with you if you start to transmit, okay. So your receiver cannot receive anything. Okay? So these are the two things a transmit scheduler need to handle when they try to do the transmission scheduling, okay? And the TDMA, okay, is a concept. Let's say it says if you have other global information, okay, then I can do scheduling perfectly. Before I enable a tradition I can always check globally whether or not this transmission will interfere with other ongoing transmission, and then I say yes or no, okay? Conceptually that's very powerful but it's not very practical. Because as the [inaudible] gets large, no matter you are ad hoc network or you are WiFi network with access point, that didn't talk to each other, then TDMA is not practically implementable, okay? And on the other hand, CSMA has got very popular, okay? It's because it's very practical, and it give other people reasonable performance. The CSMA protocol is based -- is a distributed randomized scheduling, okay? So when these node start before it want to transmit, he will do a carrier sensing, okay? He sense whether or not there is other near by ongoing transmission is going. And he will do -- try to do a random collision of avoidance and then he decide okay, if everything is fine and I'm polite enough, then I stop to talk, okay? And it is ACK-based bi-directional transmission because he don't have global information whether or not his transmission is successful at the receiver or not. So he require the receiver to send an ACK package to the sender so that a sender can know, okay, my transmission is successful, now I can move on to the next stage. Okay? So these are the key -- two key component associated with CSMA protocol. In more detail, CSMA just do local decision, okay? And based on local information only. This is in contrast to the TDMA where you require the global information. In this three node -- three link example, the node transmitter A, B, C, in the CSMA protocol, they will first start to come down according to a random counter. When A expire in this case, he start to transmit, okay? As A start to transmit, B and C will sense A's signal, so they will freeze. They will continue countdown after A finish his countdown, after his transmission. And in this case, B grabbed the channel and start to transmit. So the green means in transmission, okay? And C and A are freezed, represent by red color, and so on and so forth. So in this way, it is expected the CSMA on average would give equal trans -- for link A to transmit, for link B to transmit, and for link C to transmit, okay? So this is based on very simple idea. And this is the reason that made CSMA very popular, because it's so simple that you can implement it very well, okay? So the question we're going to answer today is that what is the throughput capacity of CSMA? Our observation is that for wireless network with a TDMA scheduling they are well studied. Starting from 0 -- 2000, the Gupta and Kumar's results shows that the optimal throughput per session is scaled as order of one square root of N. Okay? This is a fundamental result, whether or not we like it or not. Okay? Somebody -- some people doesn't like it because it says as the wireless network gets really large your throughput goes to zero, okay? But, on the other hand, some people like it, say well, it's still one over square root of N, it's not one over N, okay? So nevertheless no matter you like it or not, this is fundamental result, okay? But this result is obtainable previously using a centralized scheduler, which means in order to achieve this fundamental result, you need to have a centralized scheduler who has the global information can encode all the transmission of all the nodes. But in practice, distributed scheduling is very popular, like CSMA. So the practical relevant question is that what throughput can you get if you use distributed scheduler, okay? And that is the question we're going to answer today. Okay? So before we dive into the detail, some take-home message. First, CSMA can scale as well as TDMA. You didn't lose anything by using distributed scheduling, okay? And today's CSMA, however, cannot achieve the optimal throughput. It can only achieve one over square root of N log N. There is a factor here, okay? And we show a slightly modified CSMA can achieve one over square root of N result. And that is not very difficult at all. And it's very implementable in our understanding. As a side product, we also have results on how you can resolve the hidden nodes for any CSMA network, okay? >>: [inaudible]. >> Minghua Chen: Yes. Yeah. It doesn't show -- somehow the fonts doesn't show that it should be ->>: [inaudible]. >> Minghua Chen: Yeah. All right. Okay. So what is our approach? We first need to model CSMA, right? Since we are talking about CSMA. And then we look at a very special type of CSMA which is hidden node free CSMA. Which means in a CSMA network you don't have any hidden node at all, okay? And for this subclass of CSMA network, it turns out it can be understand easily, okay? So we do a stationary analysis and find out the throughput of the CSMA network, okay? And this throughput is a function of CSMA parameter. And then we tune the parameter to maximize the throughput. At the end we found you can achieve one over square root of N. >>: What about exposed terminals? There can be exposed terminals? >> Minghua Chen: There could be exposed terminal. But otherwise they are okay. So because exposed terminal just reduced the entire throughput, yeah. >>: [inaudible]. >> Minghua Chen: Yes. But then to achieve one over square root of N, we propose use a dual channel, dual carrier sentencing. That means we try to advocate for an architectural point of view. Later on, whenever we try to implement CSMA, perhaps we can -- we should always associate them with two channel, rather than one channel today. Okay? Because at least that is what allow us to achieve one over square root of N in this case. Okay? >>: When you say dual channel, do you mean dual transceiver or [inaudible] one transceiver? >> Minghua Chen: One trans-- one receiver. >>: One receiver [inaudible]. >> Minghua Chen: Yes. It's a half-duplexing. So that means you don't need to receive or transmit simultaneously all to a channel. >>: [inaudible] two channels simultaneously? >> Minghua Chen: Yes, you do. Yes. >>: Okay. >> Minghua Chen: Yes. But there is [inaudible]. Okay. So any question before I move on? Okay. Good. So let's look at modeling CSMA. So previously on literature what people model is the -- are interference, okay? They have interference modeling. That means due to the spatial interference, two transmission are not possible if they are too close to each other, okay? And to put these particular case, you just verify -- it just checked the transmitter, okay, which is the blue node, to the receiver distance, okay? So in this particular example, these state for transmission is not -- is not allowed because the receiver, the distance between the receiver to the other transmitter is too close, okay? And this is captured by mathematical form which we may not need to understand very -- in order to understand the later part of the work. But this model is first proposed by Gupta and Kumar, okay? And following this model -- following this relationship, you can characterize the feasible state of the network. For instance, if in a wireless network you have a set of links, okay, they are not simultaneously possible under the interference constraint. In fact, if you apply this Gupta and Kumar's result, you will find this is one of the possible -- one set of the possible links that can be simultaneously active. There are other links that are not possible because it doesn't satisfy the interference relationship, okay? So this is how people study the interference constraint, okay? That means whenever you try to do scheduling, you need to satisfy this constraint and as a result, some of the link cannot be simultaneously scheduled with other links, okay? And this is for the uni-directional communication, which means your receiver doesn't need to send you any acknowledgement, okay? In the case your receiver need to send you acknowledgement, the condition need to modify a little bit. But still, the high-level message is still both the receiver and transmitter need to be far away for another transmitter and receiver, okay? So because -- beside the data transmission, now you also have the acknowledge the tradition which you send from the receiver to the sender. So you have another additional case to consider when you try to set up the interference constraint for bi-directional communication. So easily you can imagine the constraint would be even stranger than the uni-direction communication, okay? Here is the example. This is the uni-directional feasible state, okay, the same as the one we get from here. And if we apply this bi-directional communication constraint, you will observe these even less number of links can be simultaneous selective, okay? For instance, this link is allowed in uni-directional communication and it's no longer allowed in the bi-directional, okay? But our observation is that in the literature people already consider interference constraint, okay? But how about the carrier-sensing constraint? Interference constraint is in some sense is the constraint allowed by physical law, okay? That means as long as you want to transmit, these are the physical law that will guide whether or not your transmission is feasible. But carrier-sensing is more like a policy proposed by local government, right? So your -- the action allowed by your policy may not be the action allowed by physical laws, okay? So study the constraint allowed by physical law doesn't mean you study the policy allowed by local government, okay? So this feasible state by carrier-sensing decision is not captured before, and essentially it only looks at the local carrier-sensing information around the transmitter, okay? The transmitter has a carrier-sensing range. That means any transmission, ongoing transmission inside this range this guy can sense it. So whenever he sense it, he will not try to -- he will try to avoid the collision by not transmitting, okay? So it has a carrier-sensing range. And this range is independent of the interference range. You can set the carrier-sensing range to very large, okay, so that you are very, very polite. Whenever you hear any small power that indicate other people are talking, then you start to shut up, okay? Otherwise, whenever -if you set a carrier-sensing range very, very small, then you are very, very aggressive in try to transmit, okay? This is independent of whether or not your tradition will upset other transmission or about upset by other ongoing transmissions, okay? And this can be captured using some mathematical form which we will not dive into detail. But the important thing I want to point out here is that first the carrier-sensing range is independent of the transmission range and interference range. And, second, this decision is made by the transmitter locally only, okay? In all the previous situation, you are involving the receiver to do the decision as well, okay? Whenever receiver say hey, I cannot receive at this signal -- if you transmit, then the transmitter will not start to transmit, okay? So previous model all involve transmit -- receiver, while the carrier-sensing model only involved the transmitter, okay? Okay. Big picture. Interference model capture the global spatial interference. Carrier-sensing model, they try to infer what's going on globally by using only local knowledge. Of coarse sometime you make a mistake, okay, and cause mismatch. And then that mismatch is the reason why the hidden node problem will appear. Okay? Next we'll go to the hidden node problem. So any question before we move on to that? Okay. What is hidden node problem? So the hidden node problem happens when the carrier-sensing decision says you can transmit but the global interference relationship says you will cause interference. Okay? Here is one particular example. We have two link, this link and this particular link, okay? Suppose this carrier-sensing range, which is the blue circle, the carrier-sensing range is RCS. CS is carrier-sensing. And because this transmitter is outside the carrier-sensing range of this transmitter, so they cannot sentence each other, okay? So they start to transmit simultaneously, which is, in this case, okay because it turns out the receiver, both receiver can receive -receive the data safely. However, when the second link try to send an ACK package to the transmitter, he is -- he will interfere the data transmission from the sender to the receiver in this particular case, okay? To see that, just observe this circle with the dot, okay? And this is the interference range for this particular receiver. And you are see this -- the second receiver is within the interference range. Okay? That means when these guys start to transmit, this guy will interfere, okay? And this shows one example where your transmission, the bi-directional transmission is not allowed by the interference constraint but is allowed by the carrier-sensing constraint. Okay? Any questions? Okay. Okay. So the implication is that the hidden node problem -- oh, okay. So there's type o here. That means for this hidden node problem, they prevent the CSMA to work along with the physical law, okay? So the first thing we want to do is that we want to make the CSMA to go along with the physical law first and then we start this particular good behavior CSMA, okay? And remark for some people more familiar with the practical implementation will remark that hidden node problem cannot be completely eliminate even if you use RTS and CTS, okay? This is one result from Professor Gerlich from UCLA, okay? >>: [inaudible] I thought it did. So could you give an example where that doesn't solve the problem? >> Minghua Chen: Yes, good. So for the RTS/CTS to be very effective it is your transmitter and receiver need to -- the system need to be time synchronized. Because consider this case. So before a transmitter try to transmit a data, he was sent an RTS, right? So when he sent an RTS, he has no idea whether or not his receiver is currently interfere with other receiver or not. So when he said the RTS and the receiver start to send a CTS, then the CTS will interfere with other people's transmit, right, transmission. Yes? >>: So you're saying that once the CTS is transmitted ->> Minghua Chen: Yes. >>: That those other receivers may not be able to receive it because they might be transmitting? >> Minghua Chen: Yes. That is first case. Yes. And the second case, when you apply to CTS back, you may interfere with other ongoing, ongoing transmission, which the transmitter doesn't know. Because it's from the receiver point of view, you will interfere with other people, right. >>: Right. >> Minghua Chen: Right. >>: So they don't get the CTS? >> Minghua Chen: Yeah. Right. >>: And the issue is time synchronization. >> Minghua Chen: Yes. So there is a paper showing that if the you are time synchronized globally then you can use some very small slot to transmit a CTS, do the RTS and CTS transmission, and in this slot there is no data transmission is allowed. So the situation I mentioned just now would not appear, which is your CTS never interfere with the data transmission. Yes? >>: Is that [inaudible] to do with changing the length of the CIF or the DIF? Is that how that's obtained? >> Minghua Chen: You mean when there is time synchronized or without ->>: I understand what you mean. Time synchronization sort of is when everybody is working off the beacon. I'm wondering ->> Minghua Chen: Yeah. >>: I thought that the reason why they had the DIF longer than the CIF was to present the risk of collision with the -- you know, with the -- because you have to weigh the DIF plus the backoff period before you transmit. >> Minghua Chen: Yeah. >>: So I thought that was why there wasn't a collision when the [inaudible] the same. Because that's sent within a CIF. And a CIF is shorter than a DIF. >> Minghua Chen: Yeah, that ->>: So I was just trying -- I don't know the analysis behind that. >> Minghua Chen: Right. >>: I just thought -- I thought that was my understanding. >> Minghua Chen: Right. So the -- so the high-level observation that people have is that if you don't have the time synchronization and then the current RTS/CTS could not resolve the hidden node problem, yes. Right. Okay. Okay. But, however, it is -- we found that you can be very, very polite setting the carrier-sensing range conservative enough to resolve the hidden node problem, okay? So here I'll give you one example, okay? Suppose you have data transmission to data transmission that is allowed. Suppose your carrier-sensing range, okay, which is this dash circle is really, really large, okay? It's really, really try to be very, very polite. Then if it is allowed by the carrier-sensing decision when these two link can be simultaneous active, then what does it imply? It imply if you have a -- there is only four possible combination of this transmission. You have two data, a one data, one ACK, right? And one data, one ACK and two ACK, okay? And that is covered by the -- all these four situation. And if you have a two data because you are very, very polite, so your carrier-sensing range is so large so that when two transmitter are allowed, they are -- their receiver must already separate by a very sufficient gap already. So these two situation is allowed. And when you have a data and ACK, you look at the receiver that receive the data and the receiver is [inaudible] ACK and their distance is still larger than what is allowed by the global interference relationship. This is because I already do it -- when I do carrier-sensing I already be very, very polite, okay. Maybe this link is in Seattle, and this link is in San Francisco. I'm so polite so that I -- I won't transmit even if the San Francisco link is start to transmit, okay? It can be -- it's reasonable that even no matter what you're doing in San Francisco, it's going to be okay with the link in Seattle, right? So the distance is so long, you are so polite, okay. So it's not difficult to check for all the four cases, you will all have the decision allowed by the carrier-sensing operation. It's also allowed by the global interference operation, okay? Okay. Any questions before we move on? >>: So this would be [inaudible] correctly you're saying that by do your carrier-sensing they didn't [inaudible] radius like you doubled it? >> Minghua Chen: Yes. >>: Then you're basically covering anybody who might be in an adjoining cell? >> Minghua Chen: Right. >>: Great. >> Minghua Chen: In this case, it will be three times as the transmission rate. >>: [inaudible]. >> Minghua Chen: Okay. So by doing so, if we set this carrier-sensing good enough, then we can construct wireless network CSMA wireless network without hidden node. So what is so great about it? Of course first your hidden node free CSMA network is more fair in terms of you don't -- some of the link will not suffer in collision due to hidden node. So they get higher throughput. And mathematically, that makes the throughput more analytical -- analytically accessible. Because now every decision allowed by CSMA is going to allow the physical law, okay? There is one very good thing. And under this situation, we found that in many other researcher also feel that it's the CSMA can be viewed as simulating Glauber dynamics in continuous time. So Glauber dynamics is one from the physics try to maximize the global energy by doing each individual item is doing something locally, okay? So he has -- you can see has some flavor as the CSMA. And you can use the Markov-chain based analysis to do the analysis. Okay? And we show that for hidden node free CSMA it actually can obtain the optimal per-session throughput, okay? It's order of one over square root of N. And we also shows that this is not achievable by today's CSMA. And after slight modification you can achieve this throughput, okay? And that is going to be the focus in the next 10 slides. >>: So you say hidden-node free CSMA, are you basically meaning large sensing cycles, circles ->> Minghua: Yes. >>: That you basically locate? >> Minghua: Yes. >>: And [inaudible] it can achieve the optimal throughput? >> Minghua: Yes. Otherwise. >>: Okay. >>: So I have a question. If you do that, which is a really innovative idea, what does it do to your frequency reuse plan? >> Minghua: Okay. >>: Because, you know, [inaudible] trying to reuse your frequency some distance away. >> Minghua: Yes. >>: And then most 8211 networks they use the frequency we use for free. >> Minghua: Yes. >>: So you don't have things that are really close on the same frequency. >> Minghua: Yes. >>: Now, does that impact your ->> Minghua: Yes. >>: Efficiency? >> Minghua: Yes. So otherwise is the same as TDMA but the constant is going to suffer. You're going to suffer some constant difference, right? >>: Right. >> Minghua: Yeah. So, that is -- that of course is one of the future direction we are currently looking at. The main thing that essentially we -- if we want to answer that question, perhaps we want to look at what if you have a CSMA network with hidden node, okay? Because by reducing the range you allow more frequency reuse. But meanwhile, perhaps you will have more hidden node. Because your carrier-sensing range is not large enough, okay? So then the question is that how can we understand that kind of network? Yes. In this work we only show that if you have a hidden node free then you are still okay. You are only constantly different from the TDMA network, right? So beyond that, we don't have if any answer at this moment, yeah. But it's a very good question. Yeah. Okay. Okay. So CSMA, if you have network without hidden node, you can study the throughput of the CSMA link by through a Markov chain. So what is this Markov chain. Remember the CSMA. Every link -- every link before they transmit they need to count down, okay? And if they sense other people is in transmission, you will freeze. And after he finish the freezing, he was [inaudible] count down. As the countdown expire, he will start to transmit, okay? Okay. So the Markov chain is -- can be viewed as this [inaudible] graph where you have a three link, link A, link B, and link C. Okay? And one, any given time only one of the link is active, okay? In this case, B is active. And after B is finished its tradition, you go back to a state when no links is in tradition because maybe everybody is now still in the countdown stage. And when one of the countdown expire and one of the links start to transmit in this case, C. So what happen in the future only depends what happen in the present, okay? It's independent of whether or not your previous state is B is in transmission, C is transmission, and A is in transmission. Okay? So this network seems to evolve in the Markov chain guided behavior, okay? So after you set up this connection, you can use the Markov chain study to find out the throughput of these -- of this CSMA network. The particular stage I brief a little bit here, but it's not required to understand our main result. You have a set of link. Link A, link B, and link C. The first step is to abstract the order independent set allowed in this network. And then to this independent set you find the Markov chain where the states are order independent set, so if you put this particular case there is five independent set, okay. And then you draw the transmission probability array among them and now you found the Markov chain. After you found the Markov chain then we can study the stead state distribution because the Markov chain will converge to a steady state distribution. And we find the link throughput when they reach these steady states, okay? That is the main idea behind that. And in particular, you can have this particular form of the -- this is the probability for each independent set to be active in the -in that steady state. And following this result, you can compute the link throughput for CSMA. Okay? Question? >>: I just want to make sure I understand. So this -- I'm not familiar with the Markov chain. So this is assuming a stationary environment, right? All the transmitters are not moving? >> Minghua Chen: Right. >>: And so over time it settles itself? >> Minghua Chen: Right. >>: Okay. >> Minghua Chen: Right. >>: [inaudible]. >> Minghua Chen: Yes. Right. And the details are not important. Perhaps the most important result is that we show that, and many other people as well, okay, well, several group of people, any rate that you can support by TDMA you can achieve by CSMA. Okay? So this result we think is quite interesting because this is the connection between the centralizer scheduler to a distributor scheduler, okay? And this result is first shown by Jiang and Walrand in 2008. And then later on, also there is other people who try to understand the result from different angle. And now we pretty much have a very good understanding on what's going on there. Okay? So -- but practically this is I think pretty interesting message, okay? Sorry. Yeah. Sure. >>: What are the variables here that are forcing the thing to stabilize? I was trying to work out how quickly it stabilizes. >> Minghua Chen: Okay. Good question. What are the variable to -- so what are the variable that control this convergence, right? >>: Yes. >> Minghua Chen: So actually that is controlled by the structure of the Markov Chain. In other words, it's controlled by the topology of the original wireless network. Okay? >>: You mean where the receivers are? >> Minghua Chen: Yes, where they transmit where they know the position. >>: Oh, okay. >> Minghua Chen: Yes. So and know the position, there is a topology, that's number one. And second is that the countdown rate. The countdown rate of the CSMA network. So each node, before they start to transmit, they have a countdown window, right? So a count to CSMA is like you choose from zero to 32 randomly choose one and start your countdown, right? When the countdown expires, [inaudible] to transmit. So this window size can also affect how fast you converge. >>: Oh, okay. So the shorter the window, the quicker the convergence? >> Minghua Chen: Doesn't necessarily ->>: [inaudible] nodes? >> Minghua Chen: Right. So, yeah, it depends on the structure of the wireless network. In some sense what you try to count down very aggressively, you are very likely to check into some local optimal, which means you will converge faster but may not necessarily to a point where it's good for everybody. Yes. So there is a slight tradeoff there. Yes. Right. But this is a very interesting question, yeah. Any other questions? Okay. So now what we know is that if you have a rate, let's say a throughput, a capacity that you can allow the support by TDMA, then somehow CSMA can also achieve it, okay? Now let's turn our slide to TDMA a little bit to see what are the insight people gave to how TDMA can achieve the one over square root of N result and then see how we can tune the result to CSMA. Okay? So the average case analysis is you have a random network and you want to understand the throughput. And the Gupta and Kumar shows that the throughput capacity per source-destination pair is one over square of N. And Franceschetti in his '06 paper shows that this upper bound is indeed achievable and they provide a TDMA scheme to do so, okay? And so the question is that can you still achieve this result. And we show that to achieve that, you need use dual carrier-sensing threshold implement in two frequency channels, okay? So a little bit intuition on how this overall scheme could work. So let's look at a Gupta-Kumar's bound of capacity. Gupta and Kumar imply that multi-hop short-range transmission is always good then a single-hop long-range transmission, okay? It's just like when we go to have dinner, right? So we try to lower down our voice so that we don't interfere with other people in the restaurant. It's good enough for us to do a short-range communication. So in this analogy, you allow to more people to talk to each other in a short range but you prevent -- but you don't prefer one people just shout to the entire audience. Then nobody else can talk. Okay? So, for instance n this particular network, okay, you can -- there's many short-range transmission is allowed. But also you can do one long-range transmission. Suppose you want to transmit from here to here, okay? If you just use one long-range transmission, then ever other people in this range needs to shut up because if they start to speak, they will interfere with you, okay? And because the distant for any randomly chosen pair in the -- in the area of N is on the order of square root of N, then you essentially cover a huge number of nodes in this area, okay? Rather, in the -- for you to talk to your destination, it's good for you to talk to your nearest neighbor. Your neighbor talks to his neighbor and neighbor talks to neighbor and finally it's a short-range transmission [inaudible] together to form a pass. So you do a multi-hop transmission, and this is turn out to be the optimal. So what is the -- how many hops do we feed to transmit? It turns out your random network is order of square root of N, okay. It's diagonal, right? So you have area of N, you have a rectangle. So the area is N and the diagonal is square of N, okay? On the ordinary of square of N. And your density is fixed. So along this square root of N distance you have a square of N hops. So you transmit to transmit one bit from the source to destination. You need to transmit the -- use the network resource, square of N times, okay. So the throughput is one over square of N. You transmit one bit by using square of N bit of network resource, okay? And so that is the intuition behind the Gupta and Kumar's result. >>: And N is the number of nodes? >> Minghua Chen: Yes, N is number of nodes. Yes. Okay. And then Franceschetti come out with a scheme saying that this upper bound is indeed achievable, okay? They do so by looking at a geometry of the wireless network. So suppose you have a random wireless network, okay? The nodes is randomly uniformly scattered around in the area. Okay? In their paper, they assume this is Poisson point process which is the limit of the random scattering process. And you can -- they understand this question, okay. So will you be able to find at least one node as N goes to infinity as you look at different size of cell, okay? So they chopped the network into this multiple cell. As you can see, some of the cell contain some nodes. Some didn't. Right? So you can increase the size of the cell from the very small one to a larger scope and to a further larger scope. As you increase the size of the cell, you can imagine the probability for you to see at least one node will increase, right? So they try to understand, okay, what is the size of the cell? So they look at in order to one node inside, okay? If every box is a square -- order of a square of N, you will find the one. If the -- you look at the very small cell, the probability that we will find a node in every cell is zero, okay? Just show by here. If you look the at a very small cell, you will find a zero. Okay? And it turns out if you increase the cell size to log N, then you have high probability every cell will have at least one node, okay? Then essentially you have formed a great network. And for any transmitter to any send source to transmit any data to the receiver, you can do the Manhattan routing. That means you first go horizontally to the cell which is -- has the same column as your destination, and then you hop in vertically to the destination. So each length of -- each hop is log N, okay? And this can be shown that in this way your throughput is one -- order of one over scare of N log N. The log N come from for each step you need to jump log N, log N step -- log N distance. Okay? Okay. But more interestingly Franceschetti shows that by using the percolation you can show if a network, you randomly put often nodes on to it, they will automatically form a sort of backbone, okay? This is given by nature. You don't need to construct it. You are given. The backbone is construct of a multiple nodes, okay, in adjacent cell. And their distance is order one, okay? You don't -- you don't need to jump from here to here, okay. This is not backbone. But they show that they must exist at least one backbone where the number of nodes are connected within only order one distance, okay? So this is called a backbone. And because the distance is short, that means you can do -- you can pat more transmission on the backbone, right? Sore range is good. So you pack more transmission along the backbone. And so that the backbone can really carry -really is -- can provide a good transmitter throughput from one node in the backbone to the other side of the backbone. Mainly because they are distance short, okay? So this is compared to the previous result where you chop the cell into larger cell, log N scale, and each step you jump log N distance, okay. And in this way sort of has less spatial reuse because you cover more area. So the throughput is slow. In the backbone case, it's similar to the previous case except now every steps, okay, every step, every hop you need -- the range is order one. So you increase the spatial reuse a lot, okay, by a factor of a log N. Okay? So this means if I want to transmit from one node on the backbone to the other node in the backbone, I can do it on the order -- I can do it in the pretty high throughput manner. So how about a node that is not on the backbone? Well, on that case, you just use this -- you just hook up the nodes if not on the backbone to a node on the backbone. And this node first transmits something on to the backbone. And then the package runs through the backbone to the destination and offload to the destination. Okay? So the main insight in the paper it says that this backbone is given. So even if you don't want it, it is there anyway. Okay? Okay. So exactly this is how they achieve the throughput of order one square over N. You found the backbone. You found that this -- you hook up the nodes, the contrary side node, okay, to the backbone. Okay? And when the contrary side node on the transmit, you transmit on to the backbone goes through the backbone and offload to the contrary side, okay? In this case, you can show the bottleneck is on the flow completing the backbone, and on the average there are square of N flows competing one backbone link. So the throughput is bounded by order of one square of N. N is achievable. Okay? Okay. So how do we going to adopt these scheme in CS -TDMA to CSMA? We are going to adopt the same backbone probably for routing scheme, okay? We throw the nodes in automatically from backbone, okay? So we're going to use it. And we'll tune the carrier-sensing range so there is no hidden node. And then we will tune the countdown window of the CSMA TDMA to achieve the order one square root of throughput, okay? And this is to -- and to accommodate this short-range backbone transmission and long-range backbone to a contrary side transmission, then we essentially need to detect two type of transmission, okay? Because when we do backbone to backbone transmission, we need to be polite to the backbone. Okay? Backbone to contrary side transmission, we need to be polite to the contrary side, okay? So there's two said of different requirements. And you at any given time as a sender, as a transmitter, you don't know what is the type of ongoing transmission, okay? Because you don't have the global information, and so you need to do a dual carrier-sensing based on local information. It's kind of difficult. Okay? And that's why we propose you use a dual channel, dual carrier-sensing. You use the backbone -- the blue channel for the backbone transmission. So now by knowing which -- whether or not there is a power you'll receive on the blue channel, you can know whether or not there is ongoing backbone to backbone transmission. And by listening on the green channel, you can then also determine whether or not there is some transmission ongoing from the backbone through the contrary side, okay? And this -- the channel just identify what type of transmission is ongoing so that you can adopt. Okay, you can do carrier-sensing. Okay? And so I'll not dive into the detail but the main message is that if you do so, you can achieve the optimal throughput, one over square root of N. Okay? >>: How [inaudible] backbone [inaudible]. >> Minghua Chen: Okay. Good question. There is a distributed algorithm which found the backbone automatically. Yeah, not perfect but you can find it, yes. So there is a dual channel and dual carrier-sensing. As Jin also questioned very beginning, at the very beginning, do you require two receiver to receive a -- to receive from two channels simultaneously? The answer is no, okay? You can use -- you can use a low-cost solution which allow only in the half-duplexing, okay, across frequency channel. And you can still achieve the optimal scheduling log result and the dual half-duplexing when you are transmitting on one -- when you are transmitting on one -- one of the receiver, so one of the channel, you cannot do anything on the other channel, okay? Or even if you just carrier-sense there is a transmission ongoing on the -- one of the channel in this green channel, you don't -- you cannot do any transmission on the blue channel as well, okay? So it's very stringent requirement that's made the implementation actually easier than what we want in the optimal case. But the information is that nevertheless otherwise the throughput, optimal throughput scheduling is still achieved. Okay? >>: Do you have a reason why you shouldn't get the channels next to each other why you shouldn't be able to receive on both channels simultaneously? It should be fairly easy to build a radio that does that. Right? >> Minghua: Right. Oh, that's a good question. But actually depends on the power leakage. So theoretically you can always build a bent filter, right, to a filter in the second node that you want from particular channel. However, in practice it's very difficult to build a very ideal filter to filter the bend, yes. >>: [inaudible]. >> Minghua: Right. >>: [inaudible]. >> Minghua: Yes. So you're going to have leakage on to other channel which might cause the receiver to not decode the signal on the other receiver, right? >>: But if you have the situation where you cannot transmit on to the other channel, the other one is busy, then that takes your throughput down, right? >> Minghua: Yes. Yes. Right. That's excellent question. Yes. Definitely. We don't know how to handle it. Maybe this is -- this is many -- I think -- personally my understanding is this is -- you know, this implementation issue. So unless we have a good way to allow you to receive and transmit on two channels simultaneously I don't know how to revolve this one. Yeah. So there is some related work from Gupta and Kumar and Franceschetti and for some of the results from Walrand and his student Libin. Libin is actually from -also from the Chinese University of Hong Kong and is currently in UC Berkeley. And also people also proceeds Aloha type of protocol which can also achieve order one square of N result. But their capacity definition is not the traditional one that we discuss here. And there is other simple results on how you can use a queueing model to describe -- to obtain the bound, the capacity bound. But it doesn't give any result on how you can achieve the bound. Okay? Okay. So some recap. I hope I described to some extent how a CSMA -- like network can scale as well as the optimal TDMA network. Okay? The scheme we describe is on building a hidden node free wireless network. This necessarily reduced capacity of the entire network. We showed this reduction is not otherwise, okay? And we proceeds -- we advocate that we should associate two frequency channels simultaneously with CSMA node. That is because from the throughput analysis we found this way give us an easy way that can achieve the order optimal result, okay? And we said we want to tune the CSMA countdown window adaptively, and this is long the recent work done by several group of researchers. And we need a proper routing scheme, can which is the backbone-peripheral routing. And looking to the future, we believe that the dual carrier-sensing dual channel scheme apply to arbitrary finite network, and we want to do more experiments and simulation to find out how this scheme actually is performed in practice. Okay? And that's all my talk. That's end of my talk. Thank you very much. [applause]. >> Minghua Chen: Thank you. So any questions? >> Jin Li: Maybe we can bring you the question offline. And Minghua is conducting research with us. And he will be here until the end of May, May 28th. So if you have questions, feel free to talk to him. >>: So that's your -- you use this e-mail address? You don't have a Microsoft e-mail while you're here? >> Jin Li: There is basically Gmail account which he can use to communicate. I think you also have a B dash account? >> Minghua Chen: Yes. >> Jin Li: I'm not sure how much you check for those e-mails? >> Minghua Chen: I haven't been able to log into account yet. >> Jin Li: Okay. >> Minghua Chen: The password sometime -- so last time we tried a password it doesn't work. >> Jin Li: Maybe if you want to talk to Minghua you should e-mail to me. My address is JIN mail. I'm the host for the talk. >>: Oh, you are. So I just check media ->> Jin Li: Yes. >>: That would be great, because I'd love one of those references. I was wondering if you could just send it to me. On the backbone. >> Minghua Chen: Okay. >>: I thought that was fascinating. >> Minghua Chen: No problem. Yes. >>: Are you here in research? >>: No. >>: I mean which group are you working with? >>: I actually work in Windows, it's just I come out of the wireless industry. >>: Okay. >>: Do work on wireless. >>: Okay. >>: I thought this was the best talk I've ever been to. >> Minghua Chen: Thank you very much. >> Jin Li: Thank you. >>: Great. Great stuff. >> Minghua Chen: Thank you. >>: I think this has great application in the mesh networking stuff that's going on, the digital home and the digital office environment. I think this is a great practical application to do that. >> Minghua Chen: Okay. Thank you very much. >>: It's very exciting. >> Minghua Chen: Thank you. >>: Sure. >> Minghua Chen: Thanks for coming.