>> Jie Liu: Welcome, everyone. It's my pleasure to welcome Souvik Sen from Duke University. Souvik is graduating. And his research has been focusing on the PHY layer of wireless communication, both for improving the communication quality as well as using it as an interesting way to sense what's around the wireless devices. So today he will give a talk on his research, Rearchitecting Wireless Systems Using PHY Layer Information. Thank you. >> Souvik Sen: Thanks for the introduction, Jie. It's a pleasure to be here at Microsoft Research. As a student I've seen so many things that have come out of Microsoft Research. It's a honor to be able to give a talk here. Thanks a lot. And I see that the weather is changing, and it's probably going to become worse. I hope my talk is also not in that direction. So hopefully -- hopefully you'll go out of my talk with a good feeling. So today I'm going to talk to you about how we can rearchitect wireless systems using physical layer information. So wireless is becoming ubiquitous. If I say wireless and if you go back five years ago, you'll probably think about your wireless router or your laptop, which has a wireless interface, or your phone which connects wirelessly. But now if you look around, you see that so many of these devices are becoming wireless. And this includes your wireless speaker, your wireless mouse, your iPads and I ports, your wireless streaming device, for example the Apple TV, your wireless car receivers. And we are also seeing wireless coming to medical devices. So with all this, demand has skyrocketed. And we have seen a 25 times increase in wireless usage over the last five years. And Cisco is predicting that this explosion is going to continue. So from a network service provider's perspective, how does this become a reality? And they are spending billions to solve this problem. We don't see unlimited data plans anymore as our good old days. Now these providers are trying to solve the data crunch problem. They are forcing us to pay per byte. FCC is trying to solve the problem. They're calling for better use of the available spectrum. So, in other words, the problem is not of spectrum alone but underutilization of the available spectrum is a major issue. And we, as researchers, have looked at this problem for quite some time. So if you look at our communication community, we have made significant leaps in achievable physical layer capacity by using techniques like MIMO, OFDM, coding, et cetera. And then if you look at our networking community, we have made advancements in distributed algorithms and protocols scheduling, coordination, and things similar to that. But then if you bring them together, this is what you get. The MAC layer or even the network layer throughput is only a fraction of the physical layer bitrate. Now, why is that the case? Particularly in the case of wireless, because of the layering separation between the MAC and the physical layer, lot of useful information is lost. So if you can co-design these two layers together, it's possible that this useful -this lost information can help us in solving this challenge. Now, this is not a new observation. In fact, researchers have recognized the need to share information across layers. But this observation was instantiated mostly using simulation and port experiments. There was no experimentation platform available, and, hence, it was difficult to build practical working systems and understands practical implications from this direction of research. Now, when I started my PhD four years ago, software radios were gaining popularity. And since then they are changing the landscape of wireless systems. These devices essentially gives us a transparent physical layer and enables networking researchers like us to experiment in a more holistic manner. And recently we are seeing this trend to continue. Chip set designers like Intel and Atheros are giving us more and more wireless physical layer information to play with in the higher layers. So if you think about broadly, we as network researchers, we have been working with abstractions, and we have treated the physical layer as a black box. And we have tried design protocols and primitives around this black box. And we can go ahead and improve performance only to a certain extent if you work with the black box. At some point you have to open this black box, look deeply and come up with more subtle abstractions that can be used in the higher layers. These software radios gives us a transparent physical layer and intervals that kind of experimentation in a holistic and sometimes in an unconventional manner. And our intention has to be -- has been to contribute in this space. So in our research, we find that physical layer information and capabilities can be used -- can be used to solve challenges in wireless networking. And these problems includes contention resolution, interference management, rate control, and enterprise networking. And as we are doing this research, we also find it interesting that physical layer can be viewed as a sensor. And the sensing information can be used in the application layer helping emerging areas of mobile and pervasive computing. So in the later half of my talk, I'll talk about how we could use physical layer information to address challenges in indoor localization. Let me first start with wireless networking. At this point, I would like to state that we'll instantiate our ideas through WiFi purely from a platform consideration. But some of the core ideas are generalizable to other wireless technologists. So let's start with the WiFi functionality called distributed channel contention. Now, contention is a very general problem. It happens whenever there is a resource and multiple parties are interested in sharing or accessing that resource. In case of wireless, channel is a shared resource. Why? Let's -- let's think about that through this example. Let's say AP1 is your router at home who wants to talk to your laptop R1, and AP2 is your neighbor's router, which wants to talk to its client R2. Now, since these two access points are nearby, they cannot talk simultaneously. Because if they do, R1 will not be able to hear any of them. And this is analogous to two people talking together. If I'm talking to you and someone else starts talking in the middle you will probably not be able to understand any of us. Now, of course you can control who talks when. But that is not possible in a distributed system like setting like WiFi. So let's see what WiFi does. WiFi implements a academia called randomized backoff. And the idea is that aisle select some random number and you'll select some random number, and whoever has the lowest random number will win the contention. Let's see how that works in this example. Let's say AP1 has selected a random backoff value of 15 and AP2 has selected a random backoff number of 25. Now, observe that these access points know what random numbers they have chosen. But at this point they do not know is the random numbers of other access points. So to do that, WiFi says let this these access points count down from the respective random numbers. And the idea is whoever hits zero first has the lowest random number and, hence, he's the winner of contention. So let's see how that works here. AP1 is going to count down from 15. And AP2 is going to count down from 25. AP1 has a lower number than AP2, and, hence, it will hit zero before AP2. It will know that I'm the winner. And it will go ahead and transfer its packet. While AP1 was transferring, AP2 will sense AP1's transmission and freeze its backoff value at 10. Now, let's say AP1 has finished its transmission. It has maybe more packets to send to its client. So it will say select a new backoff value. Let's say that is 18. AP2, on the other hand, will start from the previously frozen backoff value of 10. And in this instance, since AP2 has a lower backoff value, it will hit zero before AP1. It will win the channel, go ahead and transmit its packet. This is great, and this is what is running in all our laptops now. But there's a problem. The problem is during all those red intervals of backoff, the channel has to remain idle. And that causes a considerable amount of channel overhead. And to give you some perspective of how much overhead we are talking about, at 54 Mbps, almost one-third of the time, the channel has to remain idle due to backoff. So if you look back in our community, we have been trying to solve this overhead from contention resolution for quite some time. And this goes back to 1971, where the first ALOHA systems were first proposed. And still we see a lot of research to optimize the wastage from count-down. So we can think about contention estimation, where researchers have proposed that we can pick lower versus larger backoff values, depending on how many access points are there in the network. Now, contention is difficult estimate, particularly in case of mobility. I might be here now, and I might go out in the next second. And whatever information you have regarding me and my tracking and topology might be still. Of course you can control who transmits when. But that is -- that requires synchronization. And it does not scale well in QWERTY networks like WiFi. So let's take a step back and think about what we are really trying to solve here. Backoff is not fundamentally a time domain operation. It's a concept which says that let people choose random numbers and whoever has the lowest random number will win the contention. Now, WiFi implements this concept in the time domain by counting down in time. Since time and frequency are interrelated, we ask the question, can we implement backoff in the frequency domain? And if it can, are there any benefits in doing so? So we find a score in current WiFi physical layer which documents OFDM. Now, OFDM is a physical layer design in which the wideband channel is divided into 48 narrowband data subchannels called subcarriers. And this is done purely from a physical layer motivation because it copes better with fast frequency selective fading. We find a MAC opportunity here. We can pretend these OFDM subcarriers as integers. And I'll propose system called Back2F, backoff to frequency, which will try to emulated randomized backoff in the frequency domain. So before I make you more confused with this complicated slide, let's move on to the key idea. Let's say, as before, AP1 wants to talk to R1 and AP2 wants to talk to R2. Like WiFi, we'll let them select random numbers. So AP1 has selected a random backoff number of six and AP2 has selected a random backoff value of 34. Now, WiFi will make them count down from these numbers. Instead, we'll make them transmit these backoff values on their corresponding subcarrier. So AP1 will transmit a signal on its six subcarrier because its backoff value is six. AP2 will transmit a signal on its 34 subcarrier because its backoff value is 34. Now, observe yet these access points do not know what backoff values other access points have chosen. So that is why they cannot conclude whether they are the winner. To do that, we'll introduce a listen antenna. And let's focus the listen antenna and think about what these access points will see at the listen antenna. So for AP1 it will see that six is active because AP1 itself is transmitting on six. But apart from six it would also see that 34 is active because AP2 is transmitting on 34. AP2, on the other hand, will see a very analogous figure on its listen antenna. It will see 34, its own backoff is active. But apart from 34, six is also active. And that means some other access point have a lower backoff value. Give that lower backoff gets more priority, it will know that it has lost the contention. AP1, on the other hand, will look at its listen antenna and see that six is the lowest backoff value it can find, is the same as its own backoff value, and, hence, it will know that it is the winner. It will go ahead and transmit its packet on all the 48 subcarriers by taking the entire band. Now, observe we have a -- we have a difference with WiFi here. And one of the difference is on your listen antenna, by looking at your -- what you are seeing of a listen antenna, it is possible to know what backoff values we have chosen in the network. And can we leverage this farther? We can. And let me show you through this example how. Let's say that a black access point is seeing these backoff values on the listen antenna. So the red spike is its own backoff number. It has chosen a backoff value of 12. And the black spikes are backoff values of other access points in its neighborhood. But since active subcarriers imply backoff chosen by other access points, by looking at this listen antenna, this access point will know what is rank in a sequence. Since the red spike comes after two other spikes of other -- of other people, it will know that it -- its rank is three. And if other access points are seen as very similar picture on the listen antenna, it's a global consequence and, hence, this enables a back-to-back TDMA like transmission. Now, this is -- this sounds good. But is there a benefit from frequency domain backoff versus time domain that is implemented in WiFi? We believe this is because while conventional packet transmissions can take 250 microseconds, average temporal backoff can take about 100 microseconds. Frequency backoff will happen in orders of one OFDM symbol, which is four microseconds. >>: But what [inaudible] problem in your previous slide? >> Souvik Sen: We don't. We don't. So backoff is -- has been designed for coordination. So if you think about WiFi, backing off in the WiFi, it was designed for coordination. It was not designed for green terminal. So we have not tried to solved the green terminal problem in this -- in this project. You have tried to solve the coordination problem in this project. We'll talk about how we can solve the green terminal problem in the next project I'll talk about today. >>: [inaudible]. >> Souvik Sen: Sure. >>: So how about a transmission from the mobile [inaudible]. Do you have these [inaudible]. >> Souvik Sen: [inaudible]. >>: So you assume that AP is actually contending with each other and use an additional [inaudible]. So if that happens on a mobile device, it also [inaudible]. >> Souvik Sen: Yes. >>: [inaudible]. >> Souvik Sen: Yes. Yes. >>: And this seems to be not very efficient use of [inaudible] as a resource for both power and error time. So if you [inaudible]. >> Souvik Sen: So, we are actually complementary with MIMO. If there is a MIMO internal, you should probably use our system more. Because we are doing contention while there is no transmission going on. So there is a second antenna, backoff happens when there is no transmission. So you can use these two antennas intelligently to reduce the coordination overhead, and after you had won the contention you can transmit just like MIMO transmitter transmits uses both the antennas. So we are trying to use the MIMO antenna more intelligently. What was your second question? Sorry? >>: [inaudible]. >> Souvik Sen: Okay. So but this sounds too good, right? I mean, there should be -- there should be some problems here. So what are the side effects with this? And let's look at them. Firstly, will there be lot of collisions with this scheme? And observe, this is a pertinent question because we have only 48 numbers to choose from. Because there are 48 data subcarriers. If there are 50 access points or choosing numbers from one to 48, there's a high probability that two of them will choose the same number and, hence, they will try -- both of them will think that they are the winner. They will cause a collision. For example, here the red and the green access point, they have both chosen a random number of two. They do not know that some other access point is on the -- on that same subcarrier. They will go ahead and transmit in parallel causing a collision. So to solve this problem, we always prescribe a second round. And the idea is the winners of the first round will come to the second round and they will choose another said of random numbers. So the red and the green access points, who are the winner of the first round, came to the second round. They chose a number of three and five. And depending on what numbers they choose, will give them priorities. Now, this will reduce collisions because the number of winners in the first round will be less. And, hence, the number of people who are contending in the second round can -- will also be less. But there is still a problem. The problem is that if you have only a few access points in the second round, TDMA that we proposed earlier will not be effective. Why? Because the number of access points participating in the TDMA depends on the number of access points in the second round. If you have only one access point in the second round, that's no good, because a [inaudible] is essentially one. You really want five or six of them in the second round so that they can all transmit back to back like TDMA without doing another round of backoff. So we optimize for TDMA also. Instead of the red and the green access point, we also bring the purple to the second round. And how do you do that while keeping in the interest of time? But this is done using local decision. These access points observe how many subcarriers are active and what kind of collision probability is fine for the network. And depending on that, they decide whether they should come to the second round and pick backoff values. The idea is we want as many access points in the second round as possible, given that it does not cause a lot of collisions. So in the second round, by looking at the listen antenna, these access points will know their rank in the sequence. And this will enable a back-to-back TDMA like transmission. For example, the red access point will know its rank is two. It will wait for only one packet transmission. And then without doing another round of backoff, it will transmit its packet in a back-to-back fashion, saving channel air time. So let's see how this compares with WiFi. Because of WiFi we do one backoff per packet. So if you think about this sequence, purple is going to back off and then transmit, followed by red and then green. In case of Back2F, we'll do one frequency backoff followed by back-to-back packets in a TDMA fashion. And by cutting down all those red intervals of time domain backoff or WiFi, we are trying to save channel air time. But whatever I've told you until now assumes that these access points, the purple, red, and green can hear each other. And they have a -- they have a similar picture on the listen antenna. But there is not the reality. In reality you will have scattered access points and you will have multiple collision domains. I might be able to hear Jay, and Jay might be able to Atul [phonetic], but I may not be able to hear Atul. So this -- I'm showing you an example which is analogous to what happens. Let's say that the blue and the purple access points are in one collision domain. That means they can hear each other. And the purple, red, and the green access points are in some other collision domain. They are able to hear them. But the blue and -- cannot hear the red or the green access points. Now, let's say that these are the backoff values that I've chosen. Okay? So if you look at them carefully, green, purple, and blue's order are in sequence. Now, let's think about what happens when green is transmitting in when green is transmitting, purple has to wait for green because it has a lower priority. But then blue has to also wait for purple to start and finish transmission. It has a lower priority than purple, it can only start transmission after purple has accessed the channel and transmitted. This is no good. If you are the blue access point, you will sit there, you will not see anything in the channel going on because it cannot green, and it will think why am I not being able to transmit although there is nothing going on? This is like a lost transmission opportunity for me. Yes? >>: [inaudible] right? So purple we'll believe is number two, purple, green, consensus, right, and the blue guy we'll believe is also number two through that blue circle, right? So the two of them will essentially transmit at the same time. >> Souvik Sen: The ranking is relative, right? So purple knows both blue. So essentially blue doesn't know green, but it knows that its ranking is after purple. >>: But I thought in the TDMA mode this says I know my ranking is two. >> Souvik Sen: Right. >>: So I'm going to wait for a packet and transmit. >> Souvik Sen: Yes. But you will not hear the green packet. >>: Right. >> Souvik Sen: Because you are in a different ->>: But if they don't transmit, purple is also transmitting because purple also make a local decision on number two I'm going to transmit -- I'm going to wait for a [inaudible]. >> Souvik Sen: Right. >>: The two of them were transmitting at the same time. >> Souvik Sen: No. Unless you -- both of you are here, the same packet. So in this example, for example, when green is transmitting, red will -- blue will not count that as one packet, right? Because blue cannot hear green. >>: Right. >> Souvik Sen: It only knows that purple is the one I should wait for. Purple's transmission is the one I should wait for. Right? So purple -- after purple starts and finishes transmission then blue will co-participate. >>: It only knows the time. It knows I'm the second one in line. >> Souvik Sen: Right. >>: [inaudible] purple. It doesn't monitor the purple guy. >> Souvik Sen: Yes. Yes. Absolutely not. Yes. >>: The purple says I'm also the second guy in some other ->> Souvik Sen: Other ranking, yes. >>: Right? >> Souvik Sen: Yes. >>: And they will essentially transmit at the same time, won't they? >> Souvik Sen: No. Because when purple is saying that he's the second guy, he's looking at someone else and hence saying that I'm the second guy. Right? So that person will transmit. When that person is transmitting, blue will not count that. Okay? So after that purple is transmit, and when purple is transmitting, then blue will know, okay, so this is the first transmission that I was waiting for. And then blue will transmit. So this is -- this is an order that is happening implicitly. >>: Probably take it offline, but I probably missed something in there. >>: So [inaudible] this point, right, let's from it about the red one and let's assume you can only have the purple, the blue and the red -- and the green, right? So let's say the middle one becomes number one. And then the other two guys, assume that they are number two in the order. But they don't hear each other, so they don't know they're number twos. >> Souvik Sen: Yes. >>: So number one transmits, then both coverages are going to transmit, right? At the same time. >> Souvik Sen: Oh, yeah. So that is true. That is true. And that is what the order says, right? Essentially green knows that there is one person, one person ahead of me. And that is purple. So after purple finishes, green will transmit. And the same thing will happen for blue also. Yes? >>: [inaudible] right? >> Souvik Sen: Depends on where the receivers are. So if the receivers are in a different place, if green refer is here and blue's receiver is over there, it will not cause a collision. But if the receivers are in the middle, they will cause a collision. This is very similar to a green terminal collision. So we are not solving the green terminal collision problem here. Because backoff -- backoff is not designed to solve the green terminal collision, it is designed to solve the coordination problem. That is what we are trying to address. So we have the same problem as WiFi has in terms of green terminals. Okay. So let me move on. So here we have a problem that blue will keep waiting for purple and hence when green is transmitting, it will not transmit and it will keep thinking that there is nothing going on in the channel, why am I waiting for someone else? So observe WiFi does not have this problem. And while WiFi does this, blue, as a WiFi access point, will wait for purple for a while and if it sees that purple is not transmitting, it will keep counting down and it will go ahead and transmit it back. So our Back2F solution is to emulate WiFi. And let me show you through this chart here how we do that. So let's say initially everyone does a frequency backoff and they have these backoff values. If I'm participating in that backoff and if I'm the winner, it's my turn, I can go where I'm transferred. After the transmission, I'll pick a new backoff value if I have more -- if I have more packets to send. Now, if I'm not the winner, and if I'm waiting for someone else to transmit, I will sense the channel for a while. I will listen for that person to transmit. And if I see that that person is not transmitting, I can go ahead and transmit my packet. Now, let's see how that works in this example. Initially green is the winner and, hence, it will transmit. While green is transmitting, blue will wait for purple and listen for a while. It will see that there is -- purple is not transmitting. It will lock off from this backoff, will do its own frequency backoff, and it will see the channel is still idle, it will go ahead and transmit. Now, after green has finished its transmission, observe that red is waiting for purple. But red cannot sense blue. So red will also listen for a while for purple to transmit. Purple will not transmit because it is waiting for blue to finish. And, hence, red will do its own backoff and go ahead and transmit. And this will be followed by purple's transmission. Now, the thing to note here is that if you look at the sequence of backoff values, that sequence and the way it was executed are different. And it's the same sequence that will happen in case of WiFi. We are trying to do the same exact thing. We are trying to emulate WiFi here. But we are also trying to cut down on all those red intervals of backoff [inaudible] that WiFi has. So given I have explained to you our key ideas, let's move on to performance evaluation. The two key questions that we need to answer here. First, can Back2F detect subcarriers reliably? Because if we cannot, then it's not possible to know what backoff value other access points have chosen, the schedule will be all wrong and, hence, we might have lot of collisions. And second, if we canning detect subcarriers reliably and do frequency backoff, how much throughput gain can we have over WiFi? So to answer the first question, we did an evaluation on USRP-based testbed. And to answer the second question we evaluated using laptops and assess points at 65 locations. So let's try to answer the first question. Observe there is a practical challenge here. If I'm an access point and I'm transmitting my backoff value on my transmit antenna, since my listen antenna is also on me, there will be a high self signal from the transmit to the listen antenna. And because of that, it may not be possible to understand who else is transmitting on the listen antenna. And let me show you through this example how that happens. So here I'm showing you a frequency spectrum on the listen antenna. So I, as an access point, am transmitting on a subcarrier of number 45. So that is why you see a high self signal on 45. There are other access points who are transmitting on subcarriers between 40 and 60. From this figure it's not possible to say what particular subcarrier values they have chosen. You know that there are people who are between 40 and 60. But you cannot really tell what numbers they have chosen. And this happens because the self signal from 45 overflows into the distance subcarrier. Now, to solve this problem, WiFi uses 64 point FFT to get a frequency spectrum at any receiver. We find that if he use a high point FFT, it's possible to resolve these frequency better. And, hence, from this diagram you can see that although the self signal is high, we can clearly see where the other peaks are and from that find out what subcarriers are active and, hence, what backoff values other people have chosen in the network. So using this I present here our subcarrier detection performance. So here on the Y axis I'm showing you detection accuracy as I increase the distance in subcarriers from the self subcarrier on the X axis. Essentially the first point on the X axis is most vulnerable to the self signal. And to help you read this graph better, we have a robust subcarrier detection at 14 dB. And what is this 14 dB? This 14 dB is essentially the signal strength of a weak access point at my listen antenna while my transmit antenna is busy transmitting my own backoff value. So if we can detect subcarriers, how much throughput gain can we have over WiFi? So here I'm showing you on the Y axis throughput gain over WiFi as I increase the number of access point on the X axis. And as you can see that we have higher gain at higher rates. And why is that the case? In case of WiFi the whole idea of backoff is like a fixed cost. If you increase the rate, the amount of air time you will take for the packet will reduce. But the overhead is fixed and, hence, the backoff overhead is higher, relatively at a higher rate. We are trying to reduce the backoff overhead, and, hence, we have a higher gain at higher rates. Yes? >>: [inaudible]. >> Souvik Sen: Sorry? >>: Is there only downstream traffic in this experiment or [inaudible] are also sending? >> Souvik Sen: In this -- in this experiment, this is a -- in this particular graph, exactly this graph, this is upload traffic. >>: Upload traffic? >> Souvik Sen: Yes. [inaudible]. >>: Since your description is all in terms of APs, I [inaudible] so the APs [inaudible]. >> Souvik Sen: Right. So both the class and the access points can do backoff. That is ->>: [inaudible]. So you are assuming that clients have a [inaudible]. >> Souvik Sen: Yes. >>: And in that case, what is the downside of using the 256 point FFT? >> Souvik Sen: So the downside of -- there is a trade-off. Is good thing about -about using backoff is that you save sensing energy. Essentially when you are trying to send, send find if the channel is idle or not. All right. So you save some energy there. But you also spend that energy on using that higher point FFT. So it's -- I do not have a good answer of whether that energy trade-off -- how it will play off. >>: You haven't done measurements with how much higher end [inaudible]. >> Souvik Sen: No. >>: You just seem to know what [inaudible]. >> Souvik Sen: Sorry. I did not ->>: Can you just do some kind of cancellation [inaudible] because you know what you're transmitting? >> Souvik Sen: Right. Right. So we can do that. But I'll add some more complexity into the system. So we started off just -- we started off not by thinking how can we do this without cancelling. And apart from cancellation to answer your question further, you can use the system without using 256 point FFT also. If you just use 64 point FFT, you can use every fourth subcarrier. And that will give you a very similar performance in terms of subcarrier detection. But then you have lower number of numbers to choose from. So you may -- you may increase collision. But that is possible to resolve by increasing number of rounds we are doing. >>: So does 256 FFT mean that you are [inaudible] channel more frequently or is it just you are doing more cancellations? >> Souvik Sen: So, we are taking long time. >>: Long time to find something ->> Souvik Sen: No, we are just taking more time. >>: So how do you [inaudible]? There has to be a continuous monitoring ->> Souvik Sen: Sorry, I could not hear you. >>: So you have a single antenna, you continue to signal like three signals [inaudible] right? >> Souvik Sen: Right. >>: [inaudible] and you also have to do some sort of backoff [inaudible] so you [inaudible] how do you quantify the [inaudible]. >> Souvik Sen: No. But to answer your question, you need -- you need to do -you need to activate the second antenna when you are transmitting on the first antenna your backoff. So if -- if you are not -- if you are not -- if you are not in the backoff round, we need not turn on the second antenna. So only when you are doing the backoff you need to turn on the listen antenna or the second antenna. >>: [inaudible] just wanted to get this [inaudible]. >> Souvik Sen: Sure. >>: Did you actually have 50 quote/unquote access points [inaudible] two antennas and generate these ->> Souvik Sen: No. So this is -- this is not a text-based result, this is a trace-based result. So we didn't have 15 [inaudible] talking to each other. We don't have that -- we didn't have that much results. >>: Simulated results. >> Souvik Sen: It's not simulated, but it's trace based. >>: Trace based. >> Souvik Sen: So essentially we went and took measurements in different -- in four different links. And we characterized what the interferences are. We characterized what the subcarrier detection capabilities are, from USRP. And we used all the information to find out what the gains can be. >>: But just wanted [inaudible] like the level of detail [inaudible] in this experiment. So your [inaudible] does not require like [inaudible] like transmit, receive, turn around? >> Souvik Sen: So we are -- we are -- so we have not -- so it's a negative -- in our case we have not implemented that system. But we are taking care of the fact that turn around time is what the turn around time of a typical hardware is. So essentially if you think about sift duration, that when you send a packet and then you have to send an act within nine microseconds, so we are taking care of -- taking care of the fact that you need nine microseconds for sensing and turning around from the receipt to the transmit mode. So all this information has gone in this block. >>: I see. So -- but the system was not implemented [inaudible]. >> Souvik Sen: That nine microsecond system was not implemented. >>: So what was implemented? >> Souvik Sen: So the subcarrier detection is happening on the USRPs. Collision detection is happening on software radios. All traces are really traces. So we went around and find out links. So essentially we transmit or links and found that what the [inaudible] how two links interfere. So we took all the data. And from there we did this trace-based throughput evaluation. So the previous graph was a text-based graph. This graph is a trace-based graph. >>: So and this was like you basic took like just measuring the WiFi environment [inaudible]. >> Souvik Sen: Yes. >>: And then ->> Souvik Sen: Yes. >>: And you had 50 active clients in your ->> Souvik Sen: No. So I was saying that we don't have 50 -- 50 nodes. So we took -- we took links. So essentially there are 50 -- so we took one client, one access point. And from there we took -- for that link, what is the rate -- what is the inter-- what amount of interference that link is going to have from all other links that is there in the interference. So we measured -- we measured that as well. And we throw all this information to the trace-based emulator. >>: So [inaudible]. >> Souvik Sen: Sorry? >>: [inaudible]. >> Souvik Sen: Yes. Yes. But that -- but there are parameters that goes in from the real world. As in how much can you detect from the subcarrier? What is the real interference level? What is the real read that is supported in the links. So we could not -- essentially, essentially the software based systems can -- it's hard to do a quick turn around of nine microseconds. So that is why it's hard to build a real system and take evaluation results here. We actually have done that. But the turn around time is such that it's hard to compare with WiFi, which requires a quick turn around. So we build a system. But to show the results along with WiFi we did this trace-based [inaudible]. >>: So in your experiment [inaudible]. >> Souvik Sen: Sorry. I cannot hear you. >>: So do you have 58 piece in the same domain in the trace that you collected? >> Souvik Sen: In this graph, yes. But we have -- we have -- we have done other graphs in the paper which have looked at multiple collision domains what happens. So they're essentially -- as I was saying, there are 65 location and at which we collected all this data. And from that, that spans the entire building. And for -- that is why for those we have multiple collision domains a and real traffic. >>: I'm still trying to understand. So if [inaudible]. >> Souvik Sen: So imagine, imagine this graph is wrong. Imagine the X axis says number of clients and not number of access points. Okay? And imagine all these clients are trying to sends information to the access point. So they -- and imagine the fact that they are in a one-collision domain. A single-collision domain. So they can hear ->>: [inaudible] you collect a trace? Is that the [inaudible]. >> Souvik Sen: For this graph, yes. For this particular graph I'm showing you, yes. Not in general. >>: [inaudible] for generating this ->> Souvik Sen: So this particular graph was called 10 bitrate. Essentially ->>: [inaudible]. >> Souvik Sen: Transmitted, yes. >>: [inaudible] the backoff [inaudible] highly dependent on [inaudible]. If you have [inaudible]. >> Souvik Sen: So whenever -- whenever -- of course. I mean, any amount of throughput gain you have or you can show depends on what kind of traffic you have. >>: This is basically like a [inaudible]. >> Souvik Sen: Right. This is basically showing that how much throughput gain can you have when everyone is trying to transfer. But, but this also shows that when you are transmitting, when you are transmitting a packet, how much -- how much -- how much of channel usage are you going to improve by using Back2F? Okay. So to summarize Back2F contention resolution is a very general problem. So saying it happens whenever there is a single resource and multiple parties are trying to access that resource. In case of wireless, channel is a shared resource. And we are seeing several proposals who have tried to optimize the wireless channel access overhead. They have tried to optimize a time domain backoff operation of WiFi. Now, backoff we find is not fundamentally a kind of an operation. It's a concept which says that people will choose random numbers and whoever has the lowest random number can transmit. Back2F shows the feasibility in the frequency domain. And it tries to alleviate the longstanding overheads of backoff. So let's take a step back. At this point. We started off to reduce the gap between MAC layer throughput and physical layer bitrate, and we found that if we can solve the challenges in contention resolution, this gap can reduce. Now, the other problem that we can solve to reduce that gap further, wireless collisions is one such problem. Why? Because why there is a collision, the physical layer is transmitting at the best bitrate possible. But at the MAC layer the packet is corrupted and hence your effective throughput is zero, contributing to that graph -- gap. Let's look at the [inaudible] of a wireless collision how it happens when it happens. Let's say T1 and T2, these two laptops, are associated with the access point R. And they want to talk to R. Let's look at a sequence of transmissions with time on the vertical axis. T1 wants to talk to R. And let's say it starts talking to R. T2 cannot hear T1. It also decides to talk to R. It starts in the middle of T1's transmission causing a collisions at R. Now, T1 knows nothing about this collision. It will keep transmitting. And after the packet is -- the transmission is over, it will wait for acknowledgement from R. Of course R is not going to send this acknowledgement because the packet did not go through and, hence, T1 will keep waiting until the ACK timeout. And beyond that we will know that the packet did not go through and, hence, it will retransmit the entire packet. Now, we believe that this is not efficient. It would have been better if T1 aborts right after the collision. Why? Because there might be some other transmitter T3 who was waiting for T1 to finish his transmission. And if T1 aborts his transmission in the middle of the packet, T3 can come in and transmit to some other access point replacing the fruitless transmission from T1. Now, if you think about a more mature physical layer like the wired networks, this is exactly what happens. The transmitter keeps -- senses the channel as it is transmitting. If what it senses and what it's transmitting is not the same it says that the -- that there's probably a collision at the receiver, it goes ahead and aborts his transmission. This is called collision detection or CSMA/CD. And we have believed as wireless researchers that this is not feasible to do in the context of wireless networks. Now, observe that collision detection is like prevention. Prevention is hard to do in the context of wireless and, hence, we as wireless researchers have tried to cure collisions, essentially tried to do something about the collision after it has happened. Now, we tried to break off from the convention and ask the question, can we imitate CSMA/CD or collision prevention in the context of wireless networks? So in the next few slides I'll talk about a system called CSMA/CN, which will try to achieve collision prevention in the context of wireless networks. Let me do that using this example. Let's say a transmitter TX wants to talk to the receiver RX. And I'll call the data transmission signal S1. Of course the collision happens at the receiver and, hence, the receiver needs to detect it. Now, let's say a collision has happened at the receiver. The transmitter is a wireless transmitter and, hence, it has no idea about this collision. So the receiver has to send some feedback to the transmitter. We'll call this collision notification signal S2. Now, observe this is not enough yet because the transmitters transmit antenna is busy transmitting is data transmission signal and, hence, it will not be able to find the collision notification signal. So to do that, we'll introduce a listen antenna. Now, at the listen antenna, the transmitter can find the notification and can go ahead and abort transmission, preventing the collision. This sounds good, right? But it does not work. Why? Because there is a high self signal that will transmit to the listen antenna. And because of this -- because of this strong self signal, S1, it's going to be so high at your listen antenna, that in presence of S1 it will not be able to -- it's going to be hard to understand the presence of S2. So when we face this problem, we didn't find anything that we can borrow from related work. And, hence, we started doing lot of experiments in our USRP testbed. And the observation we had is that if we can suppress S1 at the listen antenna somehow, we'll be able to detect the collision notification or S2. And the idea we had is that S1 need not be a unknown signal. We can very well send S1 from the transmit antenna over to the listen antenna over Y and because -- if we can do that, if S1 can become known, it is possible for us to suppress S1. Now, in this setting let's think about what we have at the listen antenna. At the listen antenna we have two gallons. One over wireless, which has the transmit signal as well as the collision notification signal. And one over Y which has the transmit signal only. So if you subtract, of course you will get S2. But then you will also get a lot of noise. Why? Because S1's copy over wire is only a approximate of the wireless copy. Because wire and wireless propagation is not the same. So because of this noise, it will become very hard to decode S2. Now, when we face this problem, we had an idea. And the idea was S2 need not be an unknown signal for this transmitter. The receiver can very well send its MAC ID as the collision notification. And because the transmitter knows this MAC ID it need not decode for it. It can correlate. Now, correlation is essentially a mathematical operation in which it's possible to detect the presence of a known signal, S2, in presence of even a high background signal, S1. So if the transmitter is correlating for the collision notification, if there is any it will have a correlation spike. It will know that there is a notification. It will abort the transmission, preventing the collision. So let's see how much throughput gain can we have by preventing collisions in our network. So to do that, we have a 10 node USRP testbed deployed at Duke. And we found that across topologies on average we had a 40 percent gain in throughput over WiFi. And this was particularly by preventing collisions. Of course, this number 40 percent will depend on traffic and topology. But CSMA/CN essentially reduces the cost of collisions. And these enables networking researchers like us to be more aggressive in our particular designs, not consider collisions as a big problem to direct [inaudible]. >>: [inaudible]. >> Souvik Sen: So ->>: Gave us 40 percent based on that [inaudible]. >> Souvik Sen: So this was a -- this was a USRP testbed. The traffic was a constant bitrate traffic. And the topology was essentially nodes trying to talk to each other across the geographical setting. So there was no -- there was no particular setting. We just distributed nodes around. And essentially the CDF here, each dot corresponds to each link we had in the topology. >>: So what is the [inaudible]. >> Souvik Sen: So this is essentially like WiFi. So whatever WiFi does is essentially like WiFi. >>: With capture? >> Souvik Sen: Without capture. >>: Without capture. Yes. >>: [inaudible] you can't really do the comparisons. >> Souvik Sen: Say that again. Sorry? >>: The USRP you can't really do -- it doesn't [inaudible] it's very hard to have a full fledged implementation of WiFi MAC, right? So [inaudible]. >> Souvik Sen: So this particular system, as I was saying like the previous system, we have implemented everything that we talked about. But it's semiautomatic scaled down in terms of time. Essentially the problem with carrier sensing on USRP or the problem of doing realtime things on USRP is that the turn around times are big. So you cannot do nine microsecond. But it's possible for you to do 900 microseconds. So essentially that is -- that is -- that is what we did. >>: Are all the factors the same when you make this comparison in your power output, you're [inaudible], your gain of your [inaudible] are those all the same ->> Souvik Sen: Yes. >>: [inaudible]. >> Souvik Sen: Yes. >>: Okay. >>: I'm curious what you do if a receiver [inaudible]. >> Souvik Sen: You need -- we don't -- we don't attempt to do that. So essentially if you are -- if your client does not have a second antenna -- are you asking that what do you do? >>: The receiving side. >> Souvik Sen: Okay. Okay. >>: You know that two guys are transmitting ->> Souvik Sen: Right. So essentially by looking at the physical properties you can know. So the one we looked at specifically is essentially a symbol of a constellation single level property. So -- and to give you a very brief, brief overview of that, if you think about basic constellation level dispersion, it take -- it accounts for both fading and interference. So if you look at fading, there is one property that holds for dispersion. Now, as you are resending a packet, if there is an interference in the middle of the packet, you will see that the dispersion property or the dispersion distribution suddenly changes or the entire band. And from there, it is it is possible to know that there is an interference or there is a collision happening. Okay. So with this, like we summarize here CSMA/CN, CSMA/CN tries to imitate collision detection or prevention in the convex of wireless networks. So if you think about wireless researchers, we have tried to cure collision before. Essentially tried to do something to recover after the collision has happened. We believe that prevention is better than cure and CSMA/CN we believe is a first step towards this direction. So with this, let me summarize the wireless portion on my talk. >>: [inaudible] can you place this stuff in context [inaudible]. >> Souvik Sen: So two things. One is this was done before the full duplex. >>: I meant more of a technical light. What are the key differences? >> Souvik Sen: So if we have full duplex today, it will be more useful. But the key, the key idea that require -- that is key in this project is correlation. Essentially if you have full duplex, if you are trying to decode for a collision notification in band, that's going to be less robust than if you can do correlation. Because correlation is more robust to another signal going in band. So ->>: So what would be simpler in the sense like -- I mean, yes, like correlation is easier, but correlation also carries less information than decoding does. >> Souvik Sen: Right. But in this case you just need one [inaudible] of information. You just need the information whether the receiver is being able to receive the packet or not. >>: But is the circuitry still good? >> Souvik Sen: The correlation circuitry is always there in a WiFi. Because you have to correlate to receive the preamble or to understand there is a beginning. Packet. So the correlation circuitry is already there in a WiFi. >>: It's already there, but is it simpler than like [inaudible] can you have a cheaper notification system ->> Souvik Sen: Yes, absolutely. Correlation [inaudible] required much less, much less of the [inaudible] systems than a full decoding circuitry. Yeah. Because you can do correlation at the single level. I mean, you don't have to do the other things that you need to do beyond just the single like demodulation, decoding and things like that to do the actual decoding or to get bits out of it. Okay. So with this let me summarize the wireless portion of my talk. We find that physical layer information and capabilities can be used to solve the challenges in wireless networking. And if you can do that, we can reduce the gap between MAC layer throughput and physical layer bitrate. So beyond wireless capacity, can physical layer formation still be useful? And as we are doing this research, we found it very interesting that the answer is yes. Wireless physical layer can be viewed as a sensor. And if you can use the sensing information in the application layer, it will aid imaging areas like mobile and pervasive computing. So now I'll talk about how we could use the sensing information from the physical layer to help indoor location. So indoors we see something called multipath. Essentially where every a wireless transmitter broadcasts a signal, it transmits the signal in all directions. So before coming -- before the signals arrive at the receiver, the signals gets reflected by your doors, windows and walls before coming to the receiver. And these reflections affect a physical layer parameter called channel frequency response. Now, since the channel frequency response essentially depend on these reflections, if you go and measure the channel frequency response in some other location, you will find that these responses are different essentially because their reflections are different. So if these responses are different in different location, that's good news in terms of localization. Because it's possible to use these responses for location signatures. You can go and measure these responses around this building and create a database. And later, when you go and give me a response, I can map in the database and tell you where you are. But even before I can do that, what is the stability of this response in a particular location? >>: [inaudible]. >> Souvik Sen: What is that? Sorry? >>: I mean, how many transmitters are there, just one? >> Souvik Sen: Yes. So it's possible to do without transmitter. More transmitter means more information, and, hence, you can do local evaluation ->>: [inaudible] challenge because your response is location specify? >> Souvik Sen: Right. >>: It's location, transmitter specific, right? >> Souvik Sen: Yes. So even before we can do that, what is stability of this signature -- or of this channel responses? Because this might be -- this might vary all the time. Because frequent responses at a given location may vary over time. But what we really need is to find a detectible pattern from which we can extract the location signature. So to understand that, we tried to do lot of experiments using Intel [inaudible] cards. And we find that at a single location in many cases these responses are clustered as I'm showing you in the figure here. So there are 20,000 response this is this figure, but as you can see, they are very much clustered. Now, of course it is not necessary that you will have only one cluster in one location. In the same location here on later -- in a later time, you can see another cluster. Okay? Now, if you look at these responses, observe that they have both amplitude and phase, because they are essentially complex numbers. If you take one subcarrier from that, and you plot them in the complex, this is what you get. We observe that this -- these clusters are essentially Gaussians. And by looking these Gaussians, they have a mean and a variance. And this cluster mean and variance can be used as location signatures. But this can be done only if you have a few clusters. Because if there are a lot of clusters, it will be hard to identify all of them and create the database. So to understand that, we need measurements at ->>: [inaudible] clusters? >> Souvik Sen: No. So that is what I want to talk about right now. So to understand that, we did measurements over a week at 30 locations. And I'm showing you a CDF of number of clusters we could find at these 30 locations. And as you can see, that most of these locations, with a if you clusters, up to five. But then there are some locations which has a lot of clusters, up to 19. And this may mean that at these locations it is not possible to use these clusters as location signatures. So to understand that more, we ask the question do all these 19 clusters occur with the same frequency? And we did measurements, and we found that it's not. Rather if you take a -- take only a few dominant clusters, these clusters are dominating -- are dominating so much that you only need to understand alone these few clusters. And these other clusters can be treated essentially as noise, and you need not learn all of them. So -- yeah? >>: [inaudible]. >> Souvik Sen: Sorry? >>: Were there any [inaudible]. >> Souvik Sen: Yes. I mean, this one week trace essentially was taken at a Duke engineering building where there are classrooms and people are going -coming ->>: [inaudible]. >> Souvik Sen: Yes. Yes. We let them run continuously. It was a natural involvement. So essentially if you can learn this for -- for clusters and you can make a -- build a map of it, it's possible to provide locations. Now, I'll skip the neck details, but I would like to say that our system PilLoc could pinpoint paintings at the Duke museum, with 90% accuracy. Now, while we did that, we are really excited about this project. And we thought that this might be one of the ways of -- to solve the challenges in [inaudible] localization. So we started talking to lot of consumers of this technology. The Duke museum, of course, but also to a Wal-Mart. And Wal-Mart came back and said that this is what they need. Essentially what they need is anytime anywhere localization. However, the problem with PinLoc is that we need to do war-driving. You have to go and measure these responses, these clusters before you can even give location service. Wal-Mart or consumers in the space are not willing to do that. So we took that learning and we came back and we asked the question, how can we do -- how can we design an indoor localization system without doing any war-driving? So I'll do the same here. But before I move on, I would like to say that please remember that these PinLoc spots or the PinLoc locations can be used as landmarks. Essentially if I -- if you go there, and if you give me your WiFi signatures, I can tell you exactly where you are. Yes? >>: [inaudible] the challenges [inaudible] so is it -- is it consistently across hardware, like if I have hard drive with your card and then like crossing those code differences or [inaudible] matter or not? >> Souvik Sen: So it's hard to guess. So we did -- we used four cards. But it was the same vendor. Because Intel 5300 was the only card we could find which was giving this kind of information. So across vendors if the intended design is different, it probably might be different. But that is also -- it is possible that it is -- that is easy to model. And there are some recent work which shows that that is possible. So ->>: How would you model that? >> Souvik Sen: I don't know. I have no good answer there. But there are some recent papers which shows that if you have one card versus the other card, it's possible to model how these frequency responses would look with a different card given you know what the response is with one card. Yeah. So you have to model the difference. And if that is possible, then that -- what you are asking is -- can be easy. >>: Okay. >> Souvik Sen: Okay. So let's move on. So we asked the question, how do we design a truly unsupervised indoor localization system? And we thought that maybe we can borrow from other localization. Because other localization has been very mature. If you think about other location-based applications you see several of them in the iPhone AppStores and the Android marketplace. So as you are scaling over outdoor location -- outdoor location-based applications, one technique that we found interesting was called dead reckoning. And I would like to go for you using the slide how dead reckoning can be used to provide location in an outdoor setting. So let's say you are that user, and you go over the Microsoft building in this U shape. Now, I can track your location by using that accelerometer and compass on the phone because accelerometer will give me your displacement, and compass will give me your direction. Now, of course these senses are noisy, and hence my estimated walking trail of U will not be the same as the ground truth. It will deviate away over time. But then outdoors, we have GPS. And it's possible for us to correct these walking trails at this known GPS location. Let's see how. Let's say we started from the -- almost the same starting point. We walked a bit. We cancelled the GPS and found actual ground truth location. And we corrected the dead reckoning error. We did the same at a later point. And if you keep doing that, observe that the correct dead-reckoned walking trail is similar to the ground truth. So observe that these known GPS locations are like landmarks. So outdoors in a nutshell, it is possible to dead reckon to find the location and correct this dead-reckoning error at landmarks. So we thought maybe we can bring this technology indoors. Accelerometer and compass, in a way different sensors work reasonably indoors, but GPS does not work. But observe all we need are a few landmarks. Essentially locations which have something unique about them so that whenever you go at this location we know exactly where you are. PinLoc locations are like landmarks because whenever you are at a PinLoc location by looking at your WiFi I can say exactly where you are. That's like a landmark. But WiFi is only one sensor of the phone. If you think about all the sensors that are there on the phone, it might be possible to come up with more landmarks. Essentially locations which have a unique sensor fingerprint. And as we get thinking, we -- our intuition said that that is possible because of the inherent diversity in the way people move and the buildings are structured. And I would like to share you some of the ideas here. If you look at accelerometer, if you think about elevator, we find that there are these complimentary bumps in the accelerometer space. And this happens in the start and the stop of deliver. Whenever you go up the staircase, the manager of the acceleration has a high variance. If you think about sounds, whenever you are at a drinking fountain or you're taking coffee from a coffee machine at a cafe, you see that there is a unique sound signature that shows up. And also we can find landmarks in sensor domains that we cannot perceive as humans, for example magnetometer. So this is a lab at Duke -- at Duke, this computer lab. And essentially these computers are electrical devices. And they affect the magnetic field. So whenever you go and stand at the door of this particular lab, you will see that a unique magnetic signature shows up. And if you can learn that, you can use this as signature. And we find that even no sensor reading is good for us. So this is a basement at our engineering building. And it looks very creepy. So, you know, creepy is that if there is one location in this -- in this basement where if you go and stand you will not get any kind of wireless signal. No WiFi, no 3G. Forget 4G. Nothing. So if you are trying to find someone and you know that that person is in the building and you are not being able to connect to him wireless anyhow, there is a notion that goes around in our lab that either he's with Romet [phonetic], talking to him, or he's at that location. So essentially what I'm trying to say is that even no sensor reading can be a signature. And if you keep thinking, there can be several that we can come up with. But the hard question is how do we locate these landmarks or these locations with unique signatures without doing any war-driving? And we tried to do that by using dead reckoning from outdoor localization. And let me go through this example and discuss how. Let's say in this building map there is a computer lab, and it causes some unique magnetic fingerprint at that location, at the door of the building. So I will dead reckon you from the door of the building, one known location. So whenever you go there and either giving your sensing information to the cloud, the cloud will know that you are at a unique location because whatever you're seeing on your phone is very different from other location that you are sensing. The cloud will not know where this location is, but the cloud will know your dead reckoned estimate. So when I go there, the cloud will know that both of us are at the same location because we are seeing the same sensing signature. But the cloud doesn't yet know where the landmark is. It knows only our dead-reckoned somewhat. As more and more people goes there, the cloud will have a confidence about this particular landmark. It will still not know where the landmark is. It has its dead-reckoned estimate. Now, this dead-reckoned estimate can be independent because all these people, they might approach a particular landmark from different directions. And the sensing -- the sensor noise can be independent. And by law of large numbers, the cloud consider take the centroid as the dead -- of the dead-reckoned estimate to find where the landmark is. So in our experiments we find that within two man hours our landmark local error was within a meter. So we can find these landmarks. It's possible to dead reckon and provide localization service indoors. So in our the way different we took a recursive approach. Initially we know only one landmark. That's the door of the building. So if you want a location, I'll give you a location by using dead reckoning using that existing one landmark. And of course the localization error initially will be very high. But then I'm going to use all the sensing information from your phone as well as others. If it's possible to find a unique sensor fingerprint, we'll find the landmark location using the dead-reckoned estimates. And if you find landmark, we'll add it to the landmark list. Over time, as more people goes in, you will see that more landmarks will come up in geography and that landmark localization error will improve. As landmark localization error improves, dead reckoning will also improve. And as dead reckoning improve, the landmark localization error will also improve in our recursive loop. So in the steady state, we expect to see that the localization error will go down. So to understand that, we did experiments in our Duke University and also a shopping mall. And we found that the localization error reduces over time as more of these landmarks are identified and the localization error of these landmarks go down. And the steady state after two hours of the mean localization error was 1.63 meters. So to summarize the localization portion of my talk -- yes? >>: I don't understand. Why is this better than war-driving. It's like with a systemwide war-driving I can just, you know, do it once and -- or do it once a year or something and forget about it. But with this system now I have no idea what it's going to do and how much time it's going to take to actually give me the right result. >> Souvik Sen: So ->>: And there are issues around error propagation as well. Two locations end up having the same signature. I don't know how dead reckoning is going to behave because you're going to just keep on creating the error in a convoluted manner. >> Souvik Sen: So let's take your comments one by one. >>: Yeah. >> Souvik Sen: If you think about war-driving, it's hard to image a similar whether you will do only once a year. You have to do it periodically, given the amount of changes. Okay? So if you just think about this system uses some component of war-driving, let's say you are doing WiFi war-driving-based localization. The system will automatically learn that. It will know that this landmark was here today. If the landmark goes away tomorrow, it can't understand that. So it will -- it will automatically log that. Also, to answer your second question about whether the errors will propagate -sorry, I -- can you ask that again? >>: It seems you're assuming a lot about the nature of the error, once you're doing this unsupervised learning that you are. One is like initially you may not even know if a location has unique signature. You may not just have ->> Souvik Sen: Right. >>: Just, you know, it's just data coming in. >> Souvik Sen: Right. >>: And two locations could have the same signature or the signature of a location may not be unique by itself, depending on computers were on or off, for instance, in the lab. And so it's unclear to me how you are actually, first of all, dealing with the issue, and the other is tell me why it's necessary the way different but in the end like it's hard to understand what happens with the way different because of possibilities like that. >> Souvik Sen: Okay. So ->>: And not to mention the uncertain of knowing whether the system is actually properly trained. >> Souvik Sen: Yeah. So it's hard to understand -- so if you look at the system, and if you take a snapshot of the system, it's hard to understand whether the system has converged or not. That is true. Because it will not -- you don't have the information that where the landmarks actually should be. Now, essentially you are taking a multi-dimension approach. If two locations has a very similar landmark fingerprint, it's possible that these two locations have a different WiFi signature. So if you add WiFi along with that, they will be different. >>: Well, now you're -- that's a contradiction right there, right? That's like two locations have the same signature, you are saying they are not. That's not the case the way different. >> Souvik Sen: Right. Now, if within the WiFi -- within one WiFi area, if two locations have the same signature, we'll not use them. Because it's ambiguous. >>: But you don't look at two locations. >> Souvik Sen: We do not know the two locations unless in geography the dead-reckoned estimates are giving two different clusters. See, if locations are so nearby that these dead-reckoned estimates are giving you one big clusters, we will not know that. But if the dead-reckoned estimates are such that they are two different clusters will know that these are two different locations and will not use the landmark as that particular instance at that point. Because that is ambiguous. And the good thing about -- the good thing that I like about the system is that, see, essentially you are trying to find a few landmarks where you can correct the error. Right? If your dead reckoning is good enough, you essentially just need some few landmarks. And -- >>: The way different just that. I mean, you are -- by taking this Android for instance you are assuming something about the nature of the dead-reckoned error being completely advised. And I'd be surprised, I think because the way it's structured with the layout that dead reckoning actually gives you a zero bias by which -- by that, I mean, like that it's equally likely to be anywhere at the 10 answers it gives you. My intuition would be that dead reckoning is systematically wrong. >> Souvik Sen: Okay. >>: Because people walk around the way different is not like -- it's not completely random. >> Souvik Sen: So the error -- I -- the error might be on bias because the error is essentially coming from the sensor error. The sensors are unbiased because if I take your -- take my phone and you take your phone and we calculate the dead reckoning somehow, using some algorithm, because our sensor's unbiased you will see the dead reckoning may also be unbiased. So even if you walk at a location you can -- I and you walk at a location from the same exact direction using the same exact path, the dead-reckoned estimate that the cloud will compute, is the way different will commute will be different because the sensor is -- the sensors are different. The sensors are unbiased. >>: The way different benchmark analysis of dead reckoning the way different unbiased errors around the location? >> Souvik Sen: So we have not the way different but we have taken -- we have taken snapshots. And we have tried to convince ourself whether they are unbiased. And it seemed to us that it was unbiased. >>: By just looking at that? >> Souvik Sen: Yes. Yes. >>: So if you are dead reckoning, so you have the displacement the way different the sensor, and also you would have to turn the way different so in between turns do you assume you're following a straight line? >> Souvik Sen: No. No. We look at the accelerometer and the compass and gyroscope to do that [inaudible]. >>: So in between turns? >> Souvik Sen: In between turns also. So ->>: If the paths are [inaudible]. >> Souvik Sen: Yes. It will -- we will account for that. We are not assuming that all the paths are straight or 90 degrees. Okay. So to summarize the localization portion of my talk, WiFi fingerprints is a well researched area in the indoor localization. So if you look at the other sensors, there are also fingerprints in these phone sensors that we have. If we can bring them together, it is probably possible for us to help solve the problems of indoor localization. We tried to do that. And we tried to solve the problem of war-driving by bringing dead reckoning from other localization. So with this, let me summarize my talk. In my PhD, I tried to take a cross-layer approach to bridge the gap between networking and communication. In terms of wireless networking, I find that physical layer information and capabilities can be useful in solving existing challenges and problems in wireless. And as I was doing this research, I also found it very interesting that the physical layer in wireless can be viewed at the sensor. And the sensing information can be used to build building blocks and concepts which can be used in applications in the application layer. And the localization project that we talked about is one such building block that we worked on. So in terms of future work, I feel that correlation can be a very strong primitive in terms of communication networking. And I would like to talk about why. If we think about wireless, in one direction we have signal in the physical layer. In the other direction you have decoded bits. If I said decoded bits you probably mostly think about data bits. But data communication also needs coordination, and, hence, we have a lot of control bits. Now, these control bits are and overhead, and, hence, we have seen lot of protocols and research that have tried to reduce the overhead of the control bits. Now correlation sits between signalling and decoding. It's neither signalling nor decoding. It's in the middle. And it gives us a cheap method of sending feedback or information in presence of data communication. So if you can take those control bits and move them from decoding to correlation, it might be possible for us to save bandwidth. And CSMA/CN or collision notification that I talked about today is one such protocol in this domain. We have looked at how can you save energy by using correlation? And going ahead I would like to ask the broad question, how do you redesign protocols using correlation as a primitive? Now, more broadly, I would like to augment sensing with wireless. So if you think about sensors on the phone, there are a lot of them. And if you take a multi-modal approach, it's possible to create more opportunities and solve problems on phone as a platform. And we also see that whenever a new sensor gets added to this piece, the opportunity space increases drastically. Now, apart from these sensors that we know, accelerometer, compass, gyroscope, there are these sensors which are also there on the phone, essentially the wireless physical layer. Now, these are the sensors which I believe has not been explored a lot until now. So if you can combine the sensor space, I believe the opportunity space will increase drastically, and we might be able to solve problems and come up with better opportunities in the mobile computing space at large. So at this point, I will conclude my talk. I would like to take any questions or comments. >> Jie Liu: Thank you. [applause]. >> Jie Liu: In the interest of time, I think we're going to take questions offline. >> Souvik Sen: Sure. >> Jie Liu: And you're going to meet most of the people here. Thanks.