1 >> Srikanth Kandula: Okay. Hello, everyone. It's my pleasure to introduce Shravan from Wisconsin. He has a lot of connection with MSR, even before this interview. He interned with MSR India and also MSR Redmond before. And today, he will talk about how to detect interference in wireless network. He has done a lot of work in this area besides now WiFi and WiFi interference. Okay. Go ahead. >> Shravan Rayanchu: Thank you for the introduction. Good morning, everyone, and thank you all for coming here to listen to some of my [indiscernible] grad school. So this talk is mainly going to be about systems to understand interference in the unlicensed band. And before I delve into the talk, though, I wanted to give a little bit of introduction about different projects that I have had a chance to work on during my grad school. To introduce, so we all know WiFi [indiscernible] have become very popular. They're almost everywhere. And in some sense, we have become dependent on them, mainly because of the ease of access with WiFi devices with mobile connectivity and also a lot of content that you're interested in is actually online. So naturally, as wireless users, we expect wire-like performance from wireless networks. That is, we want the networks to be fast and we also want the networks to be reliable. However, there are several challenges that we have to solve before we can actually get there, and it's indeed a very good time to be working in this area of wireless networking and have a chance and was fortunate enough to work in this area for the last few years. And I wanted to give you a brief idea of the different projects that I have had a chance to work on in this area. So mainly work on wireless networking and of late I've had the chance to work in the area of mobile systems and applications. In wireless networking, I've had a chance to work on something very fundamental in my open, and that has to do with building tools and systems that help us improve our understanding of wireless interference. These are the tools and systems that help us improve our visibility into this wireless environment in some sense. And this will be the focus of the talk today. 2 I've also had a chance to work on some optimizations for enterprise wireless networks. For this, we actually have a [indiscernible] at Wisconsin which has about 50-odd wireless nodes with boxes which consist of like a couple of wireless guides. And basically, we use this as a platform for extensive experimentation during my grad school. So one of the products, for example, had to do with tweaking channel widths in this network and looking at how we can traditionally [indiscernible] has a fixed channel of 20 to 22 megahertz or maybe 40 megahertz in some cases. Our project had to do with how do you go further, for example, five and ten megahertz and look at the problem in the network wide scale and look at how you can use channel widths effectively in such a setting. Also had a chance to look at scheduling aspects of the network. For example, if you have an enterprise scale network, how would you look at scheduling. For example, the [indiscernible] of the scheduling versus the benefits it can provide. Also had a chance to look at some network recording mechanisms in the past where we look at enterprise mesh kind of a setting and how do you look at mechanisms to design the overall through-put. Also had a chance to look at some [indiscernible] measurements. For example, one of the projects over here had to do with a city-wide mesh network deployment. We looked at some multimodal data in terms of SMP logs and, for example, passive wireless traces as some active measurements and we looked at how we can use those measurements to find out the characteristics of the network as well as performance bottlenecks. And that's really some of this that's part of my Ph.D. thesis. I also had a chance to work in some interesting products. For example, this mobile application analytics framework, where we know that there are a lot of applications in the [indiscernible] store or the Android market. And the idea here was to sort of come up with a library which can be imported to applications and give feedback to the developers to understand their applications better. And I also did a couple of internships at Microsoft and had a chance to work on some other projects that I had to do with, like improving battery life on 3 mobile devices and securing cloud watching machines. So this is the overall [indiscernible] space I've been working on for the past few years. And today, my talk is going to be about two different projects in this space, and that is going to be about some nonWiFi interference issues that I'm going to be talking about and some of this work was also fortunately picked up by the media, and we got some very interesting feedback both in terms of the comments on the articles as well as some e-mails, e-mails that we got. And it's rather interesting to note what the non-academic community thinks about our work. So with that, I wanted to start through this talk, and this is going to be about systems to be able to understand wireless interference better. As naturally, as wireless users, we expect wire-like performance. And for the most part, our experience has been that it seems to work well, all right? However, there are these cases where we see that the connection, we see that the wireless connection keeps dropping. And we don't really know what's going on. Let me give a small example and this is something come I got off an email thread from the computer sciences department student meeting list. So these are computer science students who are having trouble accessing their wireless networks, right? So the first student here says, is anybody else finding the network to be slow or flaky? I want a sanity check before I tell my lab administrator. The second one says my laptop keeps dropping connection. Is there a one-spot guide to WiFi troubleshooting. And the third one says it was flaky for me yesterday, and restarting the laptop seemed to solve the problem. This is typically the approach we tend to take. We retry or we start the laptop. Or if all else fails, we somehow try to communicate that to the network administrator. And the network administrator in this particular case had to say this. We continue to hear the reports of problems but could not reproduce the problems on demand. Nor do we have enough details to identify the real issues. And this is really the crux of the problem where we see that most of the wireless issues are very transient in nature, coupled by the fact that when 4 users typically complain to the network administrator they don't have enough details about the problem and we don't have enough -- sophisticated tools in the network today that will help network administrators debug what's going on in their networks. In fact, these are network administrators that actually are experts when it comes to, for example, wire networking. But for some reason when it comes to wireless networks, they don't have a very good what's going on. So what we want to do, in some sense, is we want to empower the network administrators to answer this very simple question. Is my wireless network operating well enough? Right? And trying to put it in more precise here, where given let's say target setting up an enterprise wireless LAN where we have bunch of access points and let's say the access points are connected to a central controller or a [indiscernible]. And if you're given few wireless clients. Laptops, smart phones, tablets and so on. And it is naturally connected to these access points so in this particular case, we have six links in the network. The question we want to ask is can we provide an overall score to the network. And a very simple dial, which is bad and good, I'm going to sort of grade this network, right. So how do we go about doing that? So if you look at this network, one way to do it is we want to sort of grade these links in the network, right. So let's say have links on the Y axis and the goodness of the link on the X axis. And let's say in this particular case we can look at something that looks like this. Coming over, this is probably not the hard part. What is harder is I want to know why -- so let me just explain this graph over here, L1 and L2 are not performing well at all, and L3 and L4 on the other end had mediocre performance and L5 and L6 are doing very well, right. So what is harder, though, is I want to understand why L1 and L2 are not performing well, right. So I want to understand why certain links in the network are underperforming. And I want to do that in realtime and I want to do that without performing any sort of [indiscernible] on the wireless network. >>: [inaudible]. 5 >> Shravan Rayanchu: So it's a good question. So I guess it comes back to the fact, what is goodness of a link, all right. So what is good enough for us. And basically what I mean by that is, you know, there could be a variety of matrix maybe just loss link or maybe a through-put. So essentially, if you take loss link, for example, I want to know why the loss at a certain link is high. >>: [indiscernible]. Suppose I see like a [indiscernible]. >> Shravan Rayanchu: Sure. So the bandwidth is very much dependent on what application is using -- what is application trying to push on that link, right. So maybe the application is trying to push one megahertz, in which case that's good enough. But if it's trying to push more than that, then it's not good, right? So in terms -- so rather, I would like to think of it in terms of the loss of the links and see what is the quality of the link itself. Does that answer the question? >>: So it's loss rate? >> Shravan Rayanchu: Yeah, I mean like for example, that is one thing we should focus on is loss rate, like how good is the link? Is the loss for the link high, or is it not so high? So coming back to this question, right so I want to understand why, for example, a certain links not as good as the others. And if we look at a very simple scenario, where you are given an access point and you're given a laptop, and the user is trying to stream over you. And for some reason, let's say, the video starts buffering. And let's just say that in this particular case, it's because of the packets on this wireless link are not getting through. So I want to understand what is the reason for this packet loss? So for example, is it weak signal. That is, there is no interference in the network. It just so happens that the laptop is quite far away from the access point. Or, for example, the transfer power on the access point is not high enough that the packet is able to be successful. 6 Or, it could be, for example, because of interference from WiFi devices. That is, there are a number of WiFi devices that sort of share of spectrum in some sense along with your laptop, and you want to understand whether any of this is affecting this WiFi link. For example, packets that could be transferred simultaneously and resulting in collisions. On the other hand, it could also be because of interference from a variety of non-WiFi devices. So, for example, things like microwave ovens or /STPHELG devices or wireless video cameras or audio head sets or frequency phones or even game controllers likes X-Box, right. So which of them is actually causing the trouble. And it's not easy to find out if you are given one link and it's experiencing packet losses. So, for example, coming back to our mini wireless LAN example, let's say I download something like this, where L1 is being impacted by a wireless video camera. And its impact is 0.7 on a scale of zero to one, let's say, where zero being the fact that whenever I turn on the wireless camera, it's not affecting the link. With one being the impact where whenever I turn on the video camera, none of the packets are getting signal, right. For example, L2 has two different non-WiFi interferers. The first has an impact of 0.3, and the second one has an impact of 0.1. L3 on the other hand is being impacted by link and the network itself. It's impacted by link L6 and has an impact of 0.2. L4, on the other hand, is not really suffering from any interference but is actually suffering from a weak signal problem, where the access point is not high enough. So I want to come up with a mechanism that sort of grades these links and finds out what is the reason behind high packet loss on each of these links. And, in fact, the resolution is very much dependent on what is the underlying cost of this under performance. So in some sense, I want to come up with a system that tells me what is the reason for packet loss on each of these links. So for that, we have a solution where we have done realtime interference estimators for WiFi to WiFi interference. That is, interference on WiFi links from other WiFi notes. We looked at this problem back in 2008, where we worked on something called COLLIE, which essentially stands for collision inferencing engine, where we looked at a very simple scenario which takes one wireless 7 account and says whether that link is suffering from other wireless networks. And this was a single node system. And we've developed the solution to work off the WiFi hardware and we built a [indiscernible] system which we call PIE, where it looks at multiple wireless nodes, uses the multiple vantage points and tries to characterize the realtime interference conflict graph of the network. And when it comes to non-WiFi to WiFi experience, we put a special restriction, and that is we do not want to use any extra hardware. We don't want to use any custom hardware or even sophisticated spectrum analyzers, for example, but use the information provided by a WiFi card itself to first detect the [indiscernible] non-WiFi devices and then not only data device, but also quantify the impact of a non-WiFi interferer and also physically pinpoint where, for example, in the physical space is this device. So I will be talking about these two projects in this particular talk, where we are folk having on how to protect he's non-WiFi interferers and sort of quantify their impact and physically pinpoint them. So but before we delve into this non-WiFi interference specifics, a question I want to ask is, well, is non-WiFi interference a real problem? Should we be worried about it. And if you look at a number of wireless vendors and other [indiscernible] from them a lot of them are working on this particular problem. And for example, there's a recent report from Cisco which says that more than 50% of the trouble in enterprise wireless LANs can be attributed to random interference sources like non-WiFi devices. So the first question when we look at the problem, we asked was, well, is how severe is impact, right? Should we be worried about it. So we did some control experiments where we looked at what are the -- what is the impact on these links when you -- on some good quality WiFi links when you use devices like video cameras or cordless phones or microwave ovens. And it turns out that there are many cases where there's more than 50% through-put drop and in some cases, the there is a complete loss of connectivity, especially with devices like wireless video cameras or analog cordless phones, which are why duty devices, which sort of emanate energy continuously. There's a complete through-put loss on the WiFi link. So there seems to be a real problem here. 8 The other question, well, we know that, you know, this impact can be severe. But are these devices popular? Are these devices prevalent enough that I actually encounter them on a day-to-day basis. To understand this aspect, we went to cafes inter surprises and homes and we looked at non-WiFi device activity in each of these environments by look a custom hardware. And, in fact, this data set is publicly available for download. What we could find was that across locations, there are many devices that appeared often and, in fact, with very high signal strength. Possibly indicating non-WiFi interference in these cases. So how do we solve this issue? So our solution, I'll give you a small example. Let's say you have there access points, AP1, 2 and 3. And you're given a wireless link and you're given two different non-WiFi interferers. The first piece of solution, which we call Airshark, tries to detect the non-WiFi devices by using a software solution that runs independently on all three access points. So, for example, AP1 over here says I'm able to see a microwave oven. AP2 says I'm able to see a microwave oven. I'm also able to see a video camera. AP3 says I'm able to see a video camera, right. So once we're able to detect all these devices independently, the next step is to sort of understand the interference impact of these devices and also physically pinpoint where they are. So we combine information from all these access points to a central controller, and in the first step, we reject the device's location and. For example, here, microwave oven is at location R1. The video camera is at location R2, and then we find out what is the interference impact of, for example, this wireless video camera on this laptop here. >>: [inaudible]. >>: Yes, continuous senders, and they just [indiscernible]. >> Shravan Rayanchu: >>: [indiscernible]. So, for example -- 9 >>: They can use different bands, for one, and so if you set the AP to channel 1, the thing is at channel 11, whatever, you can do it that way. And I think that this is basically the security camera space. Security people have WiFi, you know, networking people sometimes don't talk too well. >>: [indiscernible] phone on the market which was interfering with WiFi [indiscernible]. That's why I wonder if [indiscernible]. >>: Maybe the other way without, but I'd be willing to bet I it would cost [indiscernible]. >> Shravan Rayanchu: So basically, the system, for example, over here, at the end of the day, basically does detect there is a microwave oven at location R1. And there is a video camera at location R2, and it has an impact on link L3 on your network, an impact of 0.4. So this is a system that we want to come up with. >>: There are many products that I know of, I know of two products that claim to do the same thing. Have you looked at those? For example, is this [indiscernible]. >> Shravan Rayanchu: I think airtight is more focused on rogue devices which might or might -- which are there in the wireless. >>: That was two years ago. Now they've moved on. >> Shravan Rayanchu: But I'm not sure what hardware they're using to do that. I know for sure that they were in order for their solution to work, you have to deploy sensors. So I'm assuming they have some custom piece of hardware which can do that. I think our contribution was how can you do all this with a WiFi card, right. >>: So do you have enough vantage point to [indiscernible] to localize to R1 or R2? >> Shravan Rayanchu: Sure. So it basically depends on the density of the access points in the network, and I'll show you later in experiments where we looked at different densities and depending on how dense a network is, your 10 precision of localization will change. >>: Also, what if the [indiscernible] interfere by microwave sources, how do you tell that [indiscernible]. >> Shravan Rayanchu: So the way we do that is we mainly based on correlation, right. We basically look -- if we see that there are [indiscernible] samples with one device affecting a portable WiFi link, we say that that is the impact. But there could be some bad cases, some pathological cases where with certain times of devices which are always on, it's hard to distinguish who's the real culprit. But I'll talk about them. So the first piece of work is Airshark, where we want to come up with a software solution that tries to run on top of a WiFi card and can tell you what other different non-WiFi devices in the WiFi card's vicinity. So how do we do this? We use a commodity WiFi card. And the goal here -- it's a single node system, and the goal here is to be able to detect multiple devices that can be operating nearby a WiFi card, right. And we want to do that in realtime. So we make use of this emerging class of WiFi cards which give us slightly fine grained information about the spectrum. So they give us something called spectrum samples. Essentially what I mean by that is they give us the power on [indiscernible] per sub carrier. And traditionally, for example, wireless cards are exposed just a single R [indiscernible] value per packet, but here what we're getting is much more fined grained information about [indiscernible], but every sub carrier. An example is the Atheros AR 9280 chip set on which we developed Airshark. So one of the challenges here ->>: If you need like a special emerging type of card and your main [indiscernible] is to be able to do it using a WiFi card, I ask you like what is a WiFi card? >> Shravan Rayanchu: WiFi card, I mean basically cards that are coming out today. Let's say, of course, this mechanism for example will not be -- we won't be able to use that in already deployed networks and still not expose its functionality. 11 So what I mean by a WiFi card is basically a card which has the physical layer and a [indiscernible] layer that conforms to the WiFi protocol. And this particular card just exposes a certain amount of information, and [indiscernible] information. But at the end, it's still a WiFi card. We're not using some extra sophisticated high [indiscernible] which probably has a higher sampling rate, for example, which can sort of detect these devices. >>: So you're saying some of the techniques that may be required to detect non-WiFi [indiscernible] like would not be embedded into a WiFi card? Is that the idea? >> Shravan Rayanchu: Sure. So at least if you look at the picture a lot of stuff that has gone into detecting these different devices, the kind of processing that you need, you probably have to end up changing the physical layer, which is not what I mean by WiFi card. So I'm talking about a traditional WiFi card which has all the processing required to just decode it back. And I want to use that functionality, which is sort of used in just decoding a packet, but just expose some information, for example, just like fine information about the channel which I can use to get at these different WiFi cards, different [indiscernible] devices. >>: [indiscernible]. >> Shravan Rayanchu: Sure. In fact, if you use [indiscernible], you'll probably get a much more information about the channel, for example, or much more information about the signal itself. But I guess ->>: For example if you're going to depend on a new generation of WiFi cards, then why not just take ->> Shravan Rayanchu: Because I don't really see a software defined radio-based platform being deployed in the near future. Or the fact that, for example, let's say there's a new [indiscernible] coming up and you're trying to deploy [indiscernible] there. I want this [indiscernible] today and not building. >>: Why don't we see a new generation of things? >> Shravan Rayanchu: It might, but I think it's going to take awhile. 12 >>: So that comes out, then what happens to your system? >> Shravan Rayanchu: So I think if that becomes a problem, we might have a -if that comes up, and when that comes up, you know, I'm sure we can think of a rather -- in fact, a lot of -- all the approaches that we dealt with here will definitely be applicable, because that platform is always going to give us more information than what I have right now. So you can possibly improve, for example, localizing precision or impact characterization of how well you characterize impact. But I do see that the techniques are applicable. It's just that we're able to do also on top of a WiFi card. >>: [indiscernible]. >> Shravan Rayanchu: sense to -- I didn't understand your question. I mean, it does make >>: [indiscernible] next generation of cards. Why are you limiting yourself to next generation of cards? Why are you making that judgment on that? >> Shravan Rayanchu: Because I think that the non-WiFi device interference is a problem that's there today, and it makes sense to solve it as quickly as possible. >>: Can you make some sort of an argument that what you're using is [indiscernible]. >> Shravan Rayanchu: So that's a very good question, and I think it has to do a lot more with -- maybe I'll go to this slide and come back to that question. It has to do with basically what sort of information do you need to detect these devices, for example, the first step. And I think the amount of information that we have from these WiFi cards is just about enough for us to be able to get at these devices. So for example, let's say if I want to look at this fine frequency block, I'm going to start off interested in understanding the non-WiFi device functionality. Rather, non-WiFi device activity in this particular block of 13 spectrum. So the first challenge that I face, for example, is that WiFi cards typically have a very narrow view of spectrum, like maybe 20 gigahertz or maybe 40 megahertz. So you cannot sample the entire spectrum all the time. The second challenge is that you're getting these samples which are very coarse-grained in nature. For example, they [indiscernible] thousand or ten thousand samples per second and I'm calling them coarse-grained mainly because of the custom [indiscernible] give you a much higher precision. As high as, for example, one million samples per second if you use spectrum analyzers. And if you look at the frequency resolution, again, again, WiFi cards are limited by the fact that you're going to get the information about the power or the RSSI every sub carrier. So you're going to get one sample every 312 kilohertz. So you're dealing with all these coarse-grained aspects. However, the biggest challenge is that a WiFi card cannot decode a non-WiFi device transmission. So by using just the packets of the power in the ear, I somehow had to figure out what are the different non-WiFi devices that are present in the spectrum. So coming back to your question, right, I think these are the challenges that we had. But I think they were just enough. For example, the [indiscernible] was just enough for us to be able to detect these non-WiFi devices, and the information that we're getting is not really the entire information about the signal itself, but just about R value. So I will say I think this information was just enough for us to sort of be able to detect these devices, which was not possible before because we were limited to just like one RSSI value for the entire channel. >>: So does it also mean that there, like, some kinds of non-WiFi devices you will not be able to [indiscernible]? >> Shravan Rayanchu: So for example if we are talking about, let's say, two devices which are within a 312 kilohertz band which are transferring, we will not be able to say if it's one device or two device, for example. And we might be able to say that there is some device that's out there, but it probably might not be able to detect them very well. 14 >>: So are those [indiscernible] limited function of the WiFi card today. by just it device manufacturer aim to detect non-WiFi -- Or >> Shravan Rayanchu: I think it is a combination of both. For example, at least when I talked about the resolution in terms of frequency, that's something which is limited by the WiFi protocol access, so that's not going to change. But if you're talking, for example, sampling, is, so a lot of it is also limited by the fact that what is a processing capacity that I have on these access points. So it's not just number of samples that were coming in, but the ability to process them. So I think those are the two limiting factors. And if you have more beefier CPUs, you probably can slightly increase the sampling rate. But this sampling rate was sort of just enough for us to be able to [indiscernible] the device. So we can only go better than this if you have higher sampling rate. >>: Question. So on the previous slide, if you had, you know, 75 bluetooth devices sitting around your gizmo, could you detect it with this system? >> Shravan Rayanchu: No. So as you increase more and more devices, you're going to sort of crowd the spectrum and it sort of becomes really difficult to sort of detect what are the different devices. We might be able to say that there is a bluetooth device that's there in the spectrum but I don't think with the system that we have it's going to -- there are 75 other devices. The system that we designed is [indiscernible] ten devices, maybe. But not more than that. >>: But are you assuming the CW weight, or are you -- because the bluetooth is a frequency hopper. So it's not clear that you'll see a frequency hopper with this system. >> Shravan Rayanchu: We are able to. That's because we do keep hopping on. I'll come to that very soon. I'll tackle that. But just to counter your argument about measurement study that we did, where we enterprises and homes and coffee shops, were more often than not, the number of 75 bluetooth devices, at least with the looked at real environments like things like that, what we found out devices, the number of different 15 devices that are out there are not more than four, for example. Of course, this is very much limited to our sample. But at least if there's a fairly odd location we looked at, we did not find too many devices at the same time operating simultaneously. >>: Were there measurements there that you measured? So did you [inaudible]? >> Shravan Rayanchu: Yes. So basically for the measurement, we did the measurement not with Airshark, but with some other custom hardware that's available out there, special chip sets that are designed specifically to detect these different non-WiFi devices. So if you're questioning the ground truth, or rather questioning the accuracy of the custom hardware itself, we did perform some controlled experiments before we went out into the [indiscernible] to measure how good is the system to be able to detect these different non-WiFi devices. And it was sort of accurate for the most part. So we believed that and we take that as a ground truth and we measure the [indiscernible] activity in different environments. >>: So what devices did you use to detect, like, bluetooth like frequency hoppers? Because that's really hard. Because spectrum analyzers don't typically see that stuff. >> Shravan Rayanchu: So if you have a wide band receiver, it's still possible to do that. But I think most of the systems that are out there that are even based on -- there is some hardware which are wide enough for example to sample 100 megahertz at the same time, which is enough for you to even to detect bluetooth devices because you're mostly concentrating on the [indiscernible] band that you have. The system, on the other hand, that we have is that we, although we cannot sample spectrum all the time, we keep hopping on the spectrum so the hope is that we're going to catch the devices soon. We might not be able to catch the entire activity for a bluetooth device, but we'll be able to detect, capture some of its activity. So how does this work, right? So uses wireless card which can give us some spectrum samples. And the goal here is to predict the presence of the device. 16 So and what we're getting really is a [indiscernible] the power in the air. So naturally, we said lights try to use a machine learning mechanism. But we want the system to run in realtime, so we say we want to use something very lightweight, something like a decision tree classifier. And the way these things mostly work is they operate on features, right. So what we really did was we use an [indiscernible] classifier and our job was to really come up with these features and to use the domain numbers that we have to come up with features that can sort of distinguish these devices. So we came with features that capture this spectral and the temporal properties of different non-WiFi devices. So I go into this now. So how does it work? So if you have a wireless card, and here's a device detection pipeline, which is going to give you some spectral samples to begin with. And we apply a series of procedures after which we're able to detect a device. I talk a little bit about each of these modules. The first one is spectral sampling, which is quite simple. What we do is we're given a big block of spectrum to sample and we know we cannot sample it all the time, the entire spectrum all the time. So we divide it into a certain amount of sub banks. Let's say 20 megahertz, which a WiFi card can sample. We sample one sub band at a time and then we move to the next one and so on and so forth, right. So although we want to capture all the spectral samples, the hope is that we will be able to catch all different non-WiFi devices, frequency hoppers or not, over time. >>: [indiscernible] or this is the main card? >> Shravan Rayanchu: So right now, we have a card which is dedicated to just doing this spectrum analysis and trying to figure out what other non-WiFi devices activity. So it really depends on the use case. So, for example in Airshark, we wanted to monitor the entire spectrum. But for example, we could limit yourself to a certain channel that you're interested in. In which case the card can actually be involved in transmissions. But at the same time, you're constrained to just monitoring the activity within a certain sub band. So once you gather in a sample. So next step is I want to understand, I want 17 to look at each of these samples and figure out is there anything interesting in sample. I want to know if there is any non-WiFi device activity in the sample and in which case I want to process the sample further. Otherwise, I want to neglect the sample. So if you look at a particular sample, it looks something like this, where you have power and frequency. And we use a very simple approach, which says given -- let's say we pick a threshold and if the power value is actually more than a threshold, then you believe that there is something interesting going on over there. Otherwise, you simply discard the sample. By the end of this, what we really get are pulses. But pulse is what I mean are time frequency blocks which have a certain amount of power, but are more than the rest of the samples. So given these time frequency blocks, the idea is to now detect the devices based on these pulses or time frequency blocks. So let me give you an example. Let's say you're given this block of spectrum, and you have certain amount of samples. If you use an analog phone, for example, it's a high energy device; that is, it's going to transfer energy continuously. So, for example, we get a big time frequency block corresponding to an analog phone transmission. Or if it's a ZigBee device which happens to ZigBee packets, we get two pulses or two time frequency blocks, corresponding to these two packets. If you see a microwave oven, it can see a packet that looks something like this. Or if it's a bluetooth device, we might see short, one-minute pulses that are spread across the frequency band. However, at this point, what you really get are these time frequency blocks. We don't know what are the devices that are operating in this particular spectrum. So by looking at -- so in order to understand what are these pulses belong to, and to do that, we sort of create signatures that are specific to each device. >>: Do you control your sample frequency? frequency, which time you sample? Do you control, like, which >> Shravan Rayanchu: So what we have -- so I guess we could do that specifically if we -- so I know we have a very uniform mechanism where we keep 18 hopping around and the amount of [indiscernible] time in each band is uniform. However, you know, you can always come with a mechanism where you think that there is more activity in a certain part of a spectrum compared to another one, for example. So signatures, for example, are -- yeah? >>: So this, if you were in the same [indiscernible], in order to get this nice pattern, you see some hopping, it goes away ->> Shravan Rayanchu: So this is the version of Airshark, where we were trying to detect devices and then [indiscernible]. In the second piece, WiFi Net, where we basically modified Airshark, where it's going to work only on a single channel and we are actually to able to detect all the devices, even bluetooth for that matter, of an equal amount of accuracy. So there are certain properties that we cannot exploit when we are not hopping around. For example, I want to use things like what is the distribution of pulses, for example. Those sort of properties or those sort of features, we cannot use them. But we still can do the bluetooth device even when you're monitoring a single channel. >>: You said something like of course we use machine learning, but in this particular case, it seems like you don't have complex. Why don't you come up with ->> Shravan Rayanchu: So we've not used machine learning to start with. We used a very simple approach, how do you extract these properties. But I think the advantage of using something like a decision tree classifier was very useful, especially when there are multiple bluetooth devices operating at the same time, especially when the spectrum is crowded. Otherwise, if it's simple packets, we could still be able to figure them out, just by using some of the features, for example, that I'm going to talk about. You don't really have to build a tree out of it. So, you know -- yeah? >>: Are there, you mentioned that there is specialized hardware that does this also, like frequency [indiscernible]. Do they also do [indiscernible] classification? 19 >> Shravan Rayanchu: So there are [indiscernible] products that are out there which uses custom hardware, and detect the different devices. I know for sure that one of them uses machine learning. I'm not sure about the other one. But they do this automatic device classification with that hardware, yes. >>: So I guess getting back to the earlier question. So the contribution here is not the classification, per se, but it's scaling the classification down? >> Shravan Rayanchu: I think the classification was to identify the fact that we're able to do that on a WiFi card and the fact that, you know, given these coarse-grained samples, how can you build a system that can work off these coarse-grained samples. Because the features, some of the features that you can use when the sampling is high are not applicable when you are working with such a coarse-grained fashion. So I think the contribution must also come up with what sort of features do you use when you are getting even samples at such a coarse grain. >>: [indiscernible] specifically had to change about the system classification [indiscernible]. >> Shravan Rayanchu: So I do not know exactly what the propriety mechanisms or classification mechanisms used by people who are using custom hardware, so I cannot really compare that. But at least during our experiments, we did compare our accuracy that we have, the accuracy of our system that's built on a WiFi card with custom hardware, and it seems to be, you know, pretty close to that. So to start with, we said we're going to use something very simple, like center frequency and bandwidth. And if you have a time frequency block and you're able to figure out what is its center frequency and what is its bandwidth. And we know that most protocols use certain predefined channels. So for example, ZigBee has 16 channels of two megahertz wide each. So if you are able to see a pulse, a time frequency block that is aligned to one of these 16 channels, and it has a bandwidth of two megahertz, we can see what most likely looks like a ZigBee device. We're not sure at this point, but it gives us a hint about what device is operating nearby. Similarly, if you look at the duration of the pulses, even that sort of gives 20 us a hint about what other devices are operating. So for example if you look at bluetooth, it has an active transmission tradition of 366 microseconds every 625 microsecond slot. So if you see a time frequency block that is about 366 microseconds that sort of tells you that maybe it's a bluetooth device. Or if it's a cordless phone, for example, it has a different timing property. Similarly, even if you look at the timing between the pulses, even that sort of gives you an idea of what is a device that's operating. If you look at bluetooth, it has the start time difference between the time difference between the start times of two pulses, for example, is always a multiple of 625 microseconds. Or if you see a microwave oven, you might see an [indiscernible] which is 16.66 milliseconds. So even the timing between the pulses sort of gives you an idea of what is the device that you're looking for. So these are very simple features that I talked about, and there are slightly more complicated features which I'm not going to be discussing, but I'll just briefly mention what they are. So one of them was what you call a spectral signature. Especially tries to sort of capture the shape of the signal in some sense. It tries to look at what is the power distribution of the device, or the frequency band. Or, for example, the pulse spread, where we look what is the distribution of the pulses that cause the frequency band. Or we also look at some of the features, which are some of the ways the duty devices, for example microwave ovens. >>: So [indiscernible] again I haven't kept up. Three years ago, there was a [indiscernible] frequency hopping. It was a bluetooth. And it was minimized [indiscernible]. They watched WiFi signal, and it would hop across it. Now, I wonder if, like, for example, [indiscernible] signals if there's one thing to sort of raise a flag and another thing to adapt to basically where you are. So two systems that have [indiscernible]. >> Shravan Rayanchu: So I guess I think the way our experiment is we 21 [indiscernible]. For example, I think it just looks at the amount of raw power that's there in the channel. For example if you were to use an analog form, the [indiscernible] even tries to avoid the analog form. So I think the mechanism that they have is just look at the [indiscernible] and try to hop, adapt. And so at least in our experiment, you can see that there are certain cases when especially if you have one of the wireless links operating as one of the channels bluetooth will try to hop away from those channels and not really interfere. But when the spectrum becomes crowded, that's when you have some problem. So after this, once we're able to detect all these features, the next step is to start off, use these features to start off, find out where, what other devices that are operating. And for that we collect samples in both cases from the devices on and the devices off and basically extract the features that we talked about and retrieve the classifier. And done in realtime, it's sort of, it does say whether the device is present or not, based on this classifier. So that's sort of how Airshark works overall, and we evaluated by implementing it on an Atheros-based chip set, and we tested it across a few classes of devices. So, for example, we tested them across narrow band high duty devices like cordless phones and video cameras, broad bad interferers like microwave ovens, and also radio frequency hopping devices like cordless phones and bluetooth head sets and game controllers. So the current version of Airshark is able to detect all these different devices, and just want to give you a couple of snapshots about the results. Yeah? >>: Was your training set using the same -- did you have a train set that used different [indiscernible] different manufacturers? >> Shravan Rayanchu: Yes, yes. So even like different environments and also looked at different. So our training was based on one rather, you know, just like one model, for example, for each device class and we actually just tested across multiple models and it seems to work very well. >>: So if a device and model was in your train, your training set, it would be not be in your test set? 22 >> Shravan Rayanchu: Yes. >>: Question. How large is a training set of devices. how many [indiscernible]? And for each device, >> Shravan Rayanchu: So it really depends on the [indiscernible] device. So, for example, if it's an analog cordless phone, which it's always on, we only need a few samples, because the property of the devices aren't really changing, the transmission property. But for example if you look at a bluetooth device, we need slightly more amount of samples. So the training ranged from a few hundred milliseconds, which was enough for devices like analog cordless phones, versus a few seconds for the devices like bluetooth device. >>: [indiscernible] within each type of device or, I mean, for different device for same device on different manufactures. And then [indiscernible] the feature consistent with the type of device? >> Shravan Rayanchu: Yes, yes. In fact, that's the reason why we're able to sort of accurately detect the other models of devices. But there are certain devices, for example, some cheap hardware that you get, for example, analog cordless phones that are not so expensive. And those are devices that we saw that some of them do not really exhibit stable features. For example, especially when they are [indiscernible] cases. But other than that, for the most part, we see that the features are compatible across all the models. So the first question was how accurate is the classification. To do that, we have this block where we have accuracy on the Y axis, and the power from the device on the X axis. So, for example, the device is farther away. You have much lesser power from the device. As you come closer and closer to WiFi card, the power increases. And here are the overall results. We see the mechanism is accurate for the most part, especially when you're looking at these high RSSI cases. But as you sort of move the device farther and farther away, the accuracy starts dropping. This is mainly because of a few things, for example. Things like if the power is less than a certain pressure we will just neglect the sample. Or, for 23 example, things like some of those features, like the [indiscernible] signal which sort of starting at a real low power level. So it's about not being able to extract these features well enough during low power case, which is the reason for inaccuracy. These lower power cases. >>: How do you define accuracy? >> Shravan Rayanchu: >>: Not for example. >> Shravan Rayanchu: there. >>: So, for example, if I were to detect -Specifically, for this, what does accuracy mean? So being able to detect the device if it's actually Being able to determine that there is interference with the device? >> Shravan Rayanchu: Not interference, but just the fact that there is a device. So microwave oven, will it say that there is a microwave oven. >>: Okay. And are you also counting the [indiscernible] devices is, or just to say there is a device? >> Shravan Rayanchu: Exactly which is the device. it's a cordless phone or whatever. If it's a microwave, if >>: Basically, those things. So what happens if you can't be as accurate [indiscernible] present classification? >> Shravan Rayanchu: We say in that case, the accuracy goes down. And false positives increase. So accuracy is being able to currently detect the type of the device that's actually being operated. >>: And so what about false positives. >> Shravan Rayanchu: basically ->>: Yes, so, you know, so there's a trade-off, right. Asking what the results are. >> Shravan Rayanchu: I don't have a number. I can just show you that. So 24 >>: Okay. >> Shravan Rayanchu: So the system is sort of fairly accurate, especially when you're looking at signals more for example minus 80 dBm. And the next question is what happens when there are multiple devices, right? So here again regarding accuracy, we did an experiment where we keep devices at different distances and we want to measure the accuracy in each case. That is, we want to be able to detect each of the device. If I'm running three devices, Airshark has to detect all three devices correctly. So here are the results. As you increase the distance, the accuracy falls down. But more importantly, as you keep increasing the number of devices, the accuracy starts falling off. And that's because as you increase more -- as you sort of throw in more and more devices, the spectrum becomes sort of more crowded. And especially there are cases, for example, where the signals can overlap, which can cause for the trouble. Because the accuracy sort of starts falling down. So coming back to your question, I think. So this is the false positive rate that we have, and it's [indiscernible] because it's very much dependent on the threshold that we're looking. For example we can slightly increase accuracy, but we would take a hit on false positives. So we sort of did some experiments and used the thresholds that we wanted to keep the false positives low. And we experimented with certainly locations and also tried to compare it with the custom hardware that's out there today. We find that the amount of accuracy sort of slightly less compared to, for example, the custom hardware that's out there. There's a 2% increase in error rate, for example. We also look at some other mechanisms like [indiscernible] machines and things like that, but we wanted to have the system do the classification in realtime and also we wanted to transfer in some sense. So we did not use -- so we struck the [indiscernible] class fires. So I have very small demo of Airshark. Here we have a set up where there is an access point, and that's going to give you some spectrum samples. And these are four different devices that we tested. So this one is an analog cordless phone. This is a frequency hopping cordless phone. This is a ZigBee device. And this is a bluetooth head set with an iPhone. And this is all [indiscernible] Airshark over here with four different windows corresponding to the output of 25 each device. And it's actually a ten-minute video, which I compressed it to one minute. So it might be a little choppy, but I hope it gives you an idea. So here, we are trying to switch on an analog cordless phone. That's a high [indiscernible] device that's always sort of going to transmit energy continuously. And we are able to detect this cordless phone in realtime and also show you the amount of power received from this particular cordless phone. >>: Does this work even in the presence of actual normal WiFi? >> Shravan Rayanchu: Yes, so we also have experiments which quantify the impact of WiFi traffic, because WiFi traffic in some sense is noise to our system. So what we found out, if there's extremely amount of interference, there's too much WiFi traffic, the accuracy sort of slightly starts falling down. >>: How much WiFi traffic was there in the graphs you showed, the performance results you showed us earlier? >> Shravan Rayanchu: So basically if you were to complete the [indiscernible] that's where it starts falling down. And in fact for devices ->>: In the actual results that you showed us, you actually gave us specific numbers. >> Shravan Rayanchu: >>: Yeah. How much WiFi was there? >> Shravan Rayanchu: So we performed the experiments in our department so there is regular wireless LAN traffic going on. So it was not an isolated environment, but, you know, that's sort of, I won't say a realistic environment, but we also had controlled experiments where we tried to push a lot of WiFi traffic and look at specific accuracy numbers even there. So I guess although you might not get a very good sense of how Airshark was, the point was to also sort of detect all the four different devices in this case. One was a cordless phone. One was a ZigBee device, which is a variable ZigBee device and two frequency hoppers. Like bluetooth and cordless phone. 26 So just to sort of recap, what have we done so far. So we have Airshark, which can run independently on all these access points, and it can detect all these different devices and then access points vicinity, for example. The next step is to sort of combine this information and figure out where in the physical space is this device and whether this device is actually impacting any of the WiFi links. So this is what [indiscernible], whether there's any interference that is actually happening. So to do that, so there are actually a couple of challenges that we have to solve before we actually get to a stage where we can use, where we can physically pinpoint where the device is and what is actually interference impact. So I'll not go into the details of this mechanism but just show you what are the challenges that we faced when trying to solve this and how we could sort of, you know, overcome those challenges. And let me give you an example to show you the challenges. The first one is let's say I have a cordless phone where you have three different access points. And it's transmitting a buzz, a time frequency block. And let's say we're running Airshark on all these three access points. So they happen to catch this transmission, tag it with the fact that it belongs to a cordless phone device, and, you know, these are three different powered at RSSI which it's able to capture this pulse. So if you were try to localize this device, we want to find out where in the physical space is this device. So if this was a WiFi packet, for example, we could simply combine information from all three access points and start off get something like a fingerprint and we could use this fingerprint to find out where in the physical space is this device. The problem over here is that this is a time frequency block, right. There's no, for example, header information over here. So there is no ID or [indiscernible] that's actually associated with this particular pulse. All we know for sure is that it appears to be a transmission from a cordless phone device. So the question over here is how do I know that all these pulses actually correspond to the same transmission? So I'll give an example as to how we solved it. We used a very simple 27 heuristic, actually. Let's say we're able to run Airshark on all three access points over here. The first one gives us two pulses, P1 and P2. The second one gives us two pulses, P3 and P4. And the third one finally gives us a pulse, P5. And all of them are type cordless phone. And want to find out what are the you increase pulses in this five pulses that I'm able to see. So we are [indiscernible] simple heuristic which says, well, if you look at pulse P2 and P5, we see that they start at the same time. They end at the same time. They have the same center frequency and they have the same bandwidth. So the heuristic says if you are able to see all these four properties where we see that it's a transmission for a type cordless phone and they start at the same time and have the same significant bandwidth, then most likely, it's from the same -- it belongs to the same transmission. >>: So how do you [indiscernible] between the various [indiscernible]. >> Shravan Rayanchu: I'm going to come to that. So the question here is how do you align the timelines. It's not like a chicken or egg problem here, because we want to use the time synchronization to find out what are the common responses in some sense. So here's where running on top of a WiFi card was useful, because it so happens that the clock that is used to time stamp the packets, the WiFi facts, the same clock that is used to time stamp these spectrum samples. So what we really do is we look for common WiFi packet receptions and then we synchronize all the access points in the network. And we had to do some sort of transducing synchronization, because all the access points may not be in the same -- might not be able to hear each other, for example. So once we have this [indiscernible] synchronization based on common WiFi packet receptions, we're not able to align the timelines. So once we align the timelines, for example, P2 and P5 are, indeed, the same transmissions. P1 and P3, for example -- yeah. >>: [indiscernible]. 28 >> Shravan Rayanchu: So right now, for a granularity of [indiscernible], we have an error of about six microseconds. So the sound, the granularity is dependent on whatever am I sort of, sort of what is the [indiscernible] I'm willing to sort of give to say that both of them started at the same time. So essentially we're getting the sampling rate is something like 100 microseconds per each sample. So as long as error is much lesser than that, it should be okay. And we use the granularity of [indiscernible] seconds. >>: And in this scenario, [indiscernible] coordinator. >> Shravan Rayanchu: So in this scenario, they're actually running on the same channel. So we find the monitor one particular channel over here, so each of them is just monitoring the WiFi environment on a particular channel. And based on the WiFi, common WiFi packet reception, we're able to synchronize the time clocks. >>: I see. >> Shravan Rayanchu: So once we synchronize, all right, and we're able to figure out what are the you increase pulses in the system, and how about there's one more challenge before we can actually go to device localization and interference quantification. And I can give you an example again where, let's say, estimate what is the impact of this particular phone. So the problem here is that let's say have one more phone which can transfer at the same time. Then right now we don't have the capability to distinguish what are the transmissions belong to different phones. For example, if you want to find out that phone one is off of these two phones if this particular phone is actually the culprit, at the very least, I should be able to segregate the transmissions from the phone to quantify the impact. So what we do there is so the question is, you know, Airshark was able to tell us that there is a cordless phone. Now the question is how many cordless phones are there. And what are the -- which device does each of these phones belong to. So we use some clustering based mechanisms which help us sort of distinguish what are the other segregated transmissions from these different devices. And I'm not going into the specifics of this clustering mechanism, but we were able 29 to sort of exploit some device specific properties and also some generic properties like RSSI. So just to give you a snapshot of the results. So here, I'm able to cluster four different phone devices to two cordless phone hand sets and two cordless phone base stations, based on some simple timing property. And here, we're able to segregate out transmissions from two different microwave ovens, again based on some timing properties. And have one with plot average is going to show you being able to cluster the transmissions from four different cordless phone devices, based on simply the fact that they happen to be in different locations, for example. So we're using RSSI as a proxy for location in some sense. So once we fine out, after this clustering, we're able to sort of find out what are the you increase devices in the spectrum, and we also are able to SEC grate the transmissions. So once we do that, once we know what are the you increase devices, we can then proceed to the device localization and interference quantification. So I can talk a little bit about each of these, just a slide on each of them. Or maybe a couple slides on each of them. So device localization, at this point, really becomes straight forward. We assume that access point locations are known and there are several algorithm techniques that we experimented with. So for example, we looked at centroid approach, which is a very naive approach, where we looked at just the location of the access points and picked three different access point with the highest signal strength and we say that the -just take average of that and say that's where the non-WiFi devices actually present. And we also look at some fingerprinting approaches where we actually went sort of collected fingerprints in different areas of the building, for example, and figured out and have a database of the fingerprint and figure out which is the closest matching fingerprint. Of course, there is an overhead involved in such fingerprinting approaches so we are experimented with a model-based approach, which again we used a very simplistic propagation model, but it seems to work fairly well and [indiscernible] a little bit. 30 So the challenge here was that we do not know the transfer power of the device. For example if there's a microwave or cordless phone, for exam we, we don't know what is the transmit power of the device. So traditional models, which assuming if you know the transfer power will not work. So we use a model where, basically, what we do is we have an algorithm which sort of works in [indiscernible] access points. What it does is it tries to look at what is the power and what is the related power between the access points. So it takes two access points at a time and tries to figure out the difference between the receive power. And the other simple model which tells you what is the probability that the device is present in a certain grid, based on each data access points. So if you look at this example, this is a ground floor effort of computer sciences department and we deployed like access points over there and this one particular test case where the green star shows you the actual location of the cordless phone. And here, for example, the algorithm sort of works in pair of access points. So for example, after processing the first pair of APs, this is what the probability looks like. Where the yellow circle over here is showing you area with the maximum probability of finding that particular device. And as you keep adding information from more and more access points, you sort are able to sort of predict where the device is. In this particular example, the predictor location is very close to the actual location. >>: Seems like a much easier thing to do is to add transitive power of the device as one of the parameters in your model. >> Shravan Rayanchu: >>: Sure, sure. So basically -- [indiscernible]. >> Shravan Rayanchu: I guess maybe you're talking about an approach where -- >>: So you have these observations and try to fine the post likely -- trying to -- I take it's an iterative algorithm. >> Shravan Rayanchu: Exactly. That's what we also have coming [indiscernible] sort of detect iteratively while even using the transitive power as a parameter. It just increases the search space. But we still can find it all, 31 but it's just that it is slightly more computationally expensive. Whereas this particular model sort of accounts for the fact that we don't have to know the transfer power by looking at the relative difference in the power of the access points. >>: So why does this work at centroid and not work -- why does it say centroid does not work because of [indiscernible]. Why does this work? >>: Centroid actually does work. It does work. [indiscernible]. It works pretty good. We've done this >> Shravan Rayanchu: The algorithm density's high enough. If you have a sparse density, that's when the centroid, it's very much more coarse grained. So here's your centroid. So it's sort of like where two different deployments in this particular case, basically given the accuracy is very much dependent on the density of the access points. And we found that, you know, most of their [indiscernible] work fairly well and for our use, it's probably the median error that we see is about 4 meters, which I think is good enough. Because we don't really want a very high precision attempts of device localization, but just be able to figure out -- yeah. >>: So why is this better than centroid? What's happening here? >> Shravan Rayanchu: So centroid, for example, as I said, does not take into account the fact that there is a wall, for example. So you're taking just the round numbers that you're getting and trying to just take an average of that. Whereas if you look at model, you can't account for what is exact application loss and figure out exactly where the device is. So I think the centroid is an approach which is going to just sort of, you know, take an average of things, rather than taking ->>: You were taking averages too, but when you defined they had to reach that space on some ->> Shravan Rayanchu: >>: Yeah, yeah. Which does not include [indiscernible]. >> Shravan Rayanchu: Well, so we use upper AP [indiscernible] loss component, so it does include the actual environment of an access point in some sense. 32 >>: But that's not what matters. the transfer meter and the AP. >> Shravan Rayanchu: What matters is the number it was between Um-hmm. >>: So there's a little bit of problem. that. I'm not quite sure how you got around >> Shravan Rayanchu: So, you know, so the way we sort of, we measure propagation loss exponent for every access point, right. And depending on how many walls are surrounding an access point, the [indiscernible] is going to reflect that. >>: But it's not a property of the access point. >> Shravan Rayanchu: point. It's a property of the environment surrounding the access >>: It's a property of the transmitter is running to the access point. I have a lot of walls on my left but no walls on my right, there's no such property of the access point. >> Shravan Rayanchu: Let me put it this way. It really depends on the particular test case that you're trying to do. If I'm at a particular location and you want to know, trying to see what are the number of walls between each of the access points that I have a sample from, and if the duration of my propagation loss exponent is good enough, for example to look at what is a propagation loss in every direction, for example, you can do much better. What we have is just a propagation loss experiment for every access point, which might not take the direction into account for the actual number of walls into account, but in some sense it does take [indiscernible] the granularity takes the actual environment into account. >>: Okay. >>: There's a much simpler explanation. Since you [indiscernible] there's only one transmitter explains [indiscernible]. 33 >> Shravan Rayanchu: >>: Yeah, so -- you had a question? You're not taking anything about the building into account, are you? >> Shravan Rayanchu: No. which take the actual -- So I mean, there are a lot more sophisticated models >>: [indiscernible] get there. I mean, if you [indiscernible] we actually had a propagation model. It was modeling in there, but what we did certainly had the attenuation factor for each wall. If you have that -- [indiscernible] you get very precise. [indiscernible]. >> Shravan Rayanchu: So if you want to know the access points locations and the actual map or something. >>: [indiscernible] might not be so unreasonable because most [indiscernible]. >> Shravan Rayanchu: >>: [indiscernible] that's where X, Y [indiscernible]. >> Shravan Rayanchu: what works the best. >>: Sure. Right. Yeah, so we start off, take space into account and see Are those results from deployment one or deployment two? >> Shravan Rayanchu: So you might notice this is in this particular case, a lot of random sub sets four APs being active. >>: this one is actually from deployment two, where -- so actually pretty dense deployment. So what we did is which those sub sets of four access points and we took like that and averaged all the deployment with just [indiscernible]. >> Shravan Rayanchu: Yeah, so the experiment was where you have all these access points, right, and we keep the transmitter at different locations and, in fact, we use different device types, like cordless phones or, for example, microwave ovens and look at the accuracy. This is an accuracy average over all the device types at different locations. 34 >>: And are all these testing [indiscernible] access points or are they outside? >> Shravan Rayanchu: >>: They're randomly distributed. Are they all [indiscernible] access points [indiscernible]. >> Shravan Rayanchu: I don't know how to answer that question. this particular area. >>: I guess in Up at the top left, 1366, was any of it outside -- >> Shravan Rayanchu: No, no. It was all inside. >>: If there are exactly two access points, would the model produce the same result as [indiscernible]. >> Shravan Rayanchu: >>: Two? Two. >> Shravan Rayanchu: Probably not. Simply because it's like a weighted average in some sense. Like say based on the [indiscernible]. It's not going to be the same. >>: So centroid isn't weighting the average. average? It isn't using a weighted >> Shravan Rayanchu: Sure, but the weight is going to be different is what I mean. By [indiscernible] actually take the actual [indiscernible] weight and the propagation loss model, it's going to be the actual [indiscernible] that's going to enforce that weight. >>: Oh, okay. So you could fix centroid by using a better propagation model. >> Shravan Rayanchu: Sure, sure. >>: Okay, all right. So that's it. >>: There's another question. Why is four meters enough and eight is not good 35 enough for what you're doing? >> Shravan Rayanchu: >>: Sure. I mean, so this is four access points. Why not use all the access points? >> Shravan Rayanchu: We can use all the access points. We were basically experimenting with like different densities of access points and figuring out what is the precision in each case. >>: Why [indiscernible]. >> Shravan Rayanchu: So the accuracy, of course, increases as we increase the density. So in this particular case of four access points, it's four meters. In the worst case was 15 meters, where it was basically, we could not really increase the [indiscernible], but the worst case was much better when we have much [indiscernible]. So I did want to talk a little bit about interference estimation, where the goal here is basically want to quantify the impact of each device on each of these wireless links. So in some sense, what we really use is correlation, where we first identify what are the transmission overlaps between WiFi frames and different WiFi device transmissions. And then we correlate this to the actual frame losses that we happen to see. So let me use one example so sort of how quantify the interference. So let's say you have one wireless link, one access point and a client. And you have a non-WiFi device transmitter, a cordless phone. And you want to find out what is the impact of this phone on this particular link. So let's say this particular wireless link transmits three WiFi frames and this cordless phone is able to transmit to a non-WiFi device transmission. By virtue of the fact that we're using the same clock to time stamp the packets and analyze the pulses, and we will show time synchronization, we're able to align the transmission timelines over here. Once we do that, if you look at, let's say if you look at frame one, let's say it's lost. Frame two is successful, and frame three is lost, right? So basically, by looking at this, we can see whenever there is an overlap between a WiFi frame and a non-WiFi device transmission, there seems to be loss, right? 36 So in this case, for example, the impact is one. So more firmly, what we find out is what is the probability of loss. And given there's an actual overlap between the transmissions. So that sort of quantifies the impact in some sense. So here's the one snapshot, where on the ground truth over here is basically the actual impact of a non-WiFi device, which we find [indiscernible] controlled experiments by knowing exactly when the device is and exactly when the device is off. And on the Y axis, we have WiFi Net estimate, which we have in realtime, but randomly switching on and off the device. And we see most of the points are close to the line, showing that the estimate is very close to what the actual ground truth is. And I have a CDF of the same data on the right-hand side. And what we see that the impact that we characterize is within 10 percent of the ground truth in most cases. So for the most part, we are able to sort of accurately find out what is the impact of the device in some sense. And the idea of experiments, and I don't mean to bore you with the details of this graph ->>: Question. On the last one, on the impact, do they impact in [indiscernible] of the WiFi frames? Is the WiFi Net estimated the ground truth that [indiscernible] rate of the WiFi frame [indiscernible] combinations. >> Shravan Rayanchu: It's a loss rate given there's an [indiscernible], yeah. So we try to do experiments with a variety of topologies, to try to mix in, for example, WiFi and non-WiFi interference and also look at multiple device types. And the goal here was to look at whether we sort of figure out the locations of the device accurately and also sort of pinpoint the actual interference impact on each case. And the system seems to work fairly well in most cases. So finally, I just wanted to talk a little bit about when you presented the results of the identified, identification process, it shows that you were accurate about [indiscernible], something like that. >> Shravan Rayanchu: You mean detection accuracy? 37 >>: Detection accuracy. >> Shravan Rayanchu: Right, right. >>: So did you do any evaluation of where the signal strengths below that have impact, have significant interference and how does that play into this? >> Shravan Rayanchu: That's a good question. So the thing is, there are two things here, which is the signals at my detector [indiscernible] is minus 80, but maybe there's a client which is close to that device, because there's an actual impact. So the actual impact is very less when you look at signal sense minus 80, for example. But it so happened that even though Airshark is able to detect the device at minus 80, the device can actually have an impact on some of the [indiscernible] much nearer that device. So that can definitely happen. But however, given an enterprise setting where you have not just one node, but you have multiple nodes, the hope is that you might find one node which is close enough for it to be able to get the device correctly. >>: So if there is an amount that you can't detect the signal strength is too low and it's causing interference, can you at least say there is interference [indiscernible]? >> Shravan Rayanchu: Sure. So I mean I guess we could say things like I see five devices in my list, and I'm able to sort of figure out what is the impact of each of these five devices. So I guess if you're not able to detect -- if any other node is not able to detect the device, all we can say is that there are some devices or some links which are unaccounted for. But we cannot do better than that. >>: So I've got a couple of slides on the future work, which I wanted to talk about work in the context of what I've been doing. And specifically, in the context of like next steps in terms of like wireless or diagnostics. And slightly more like broader interests and future directions. So in terms of wireless diagnostics, at a very high level, what we're trying to do is with systems that can improve our visibility into these wireless environments, and the way we did, the way our approach was to basically build systems for wireless monitoring and diagnostics. 38 And you see the four pieces of work, like COLLIE, PIE, Airshark and WiFi Net as building blocks in this particular aspect where we looked at both WiFi-to-WiFi interference and non-WiFi to WiFi interference. And we took support from access points or the network to do this. And this is really scratching the surface in some sense. For example, all of these approaches are very passive in nature. So one approach could be to augment it with a limited amount of active measurements and see how that can help us. For example, sending proofs into the next work and trying to figure out what is the actual impact on the device and see if we can sort of improve our accuracy by doing that. And, in fact, another approach would be to even use the clients, where we could see, for example, you can imagine a small piece of cord running on the clients which can sort of help us give a you increase view of the system. For example, we know where the client of the network is and see how that can sort of improve the overall accuracy of the system. And what we really want to do is learn through deployment and that's the approach we're taking at least with Airshark. And right now, we have deployed the system in one [indiscernible] and we're trying to see so this is a primitive web interface of Airshark and we're trying to see how that can sort of help understand the wireless environment in our [indiscernible] department and we're working very closely with our network administrator in this case to get their feedback on so if this [indiscernible]. And also, we are trying to currently commercialize Airshark. There are three wireless vendors who are very much interested in this particular solution and we're trying push it to the industry. So slightly more broader aspects. So I think at the end of the day, what we're trying to do is really improve the user experience in some sense. To do that, one of the things is to actually build a solid platform for diagnostics and management. Not just of wireless networks, but systems as a whole and even applications. And we're trying to see, for example, some of the projects where we're trying to see how smart phones, for example in your environment can sort of be helpful in this wireless diagnostics. And even if you look at home networks, there's actually a completely different space where we don't have this advantage of having an infrastructure that can help us diagnosis wireless issues. So it 39 remains to be seen how a single node system, how far can it push with that and if it can somehow use a mechanism that can use information from multiple [indiscernible] nodes and see if it can diagnose in the environment better. And we also are looking at, for example, one of the things is how do you [indiscernible] network speeds, for example. And go for smarter controlled mechanisms and see how much of it can we actually push, for example, on [indiscernible] WiFi cards. And also new technologies on the horizon, 11 ac, 60 gigahertz wireless, which a lot remains to be done in this aspect. Of course, energy is going to be a primary bottleneck. It remains a big challenge as to how do you make systems more energy efficient, especially on these mobile platforms. And I want to look at, for example, optimizing protocols and also look at specific support from operating system. For example, simple things like enabling hibernation on the phones in order to sort of save the battery power. And one of the things to really look at is to look at the context and see how an external context can be useful to sort of improve the energy aspect on this particular -- on these mobile platforms. And finally, I'm also interested in enabling new services and not only developing these services, but also sort of developing the infrastructure for these services. So, for example, simple things like indoor navigation. It has been, network localization has been a problem for a long while, but it's still not solved. Even, for example, enabling richer applications, not only using external resources, not just the cloud, but also resources on the mobile device itself. For example, things like GPUs, which are not yet being tapped into to see what sort of richer applications can be enabled. So that's sort of the general different thinks I'm interested in, and so for that, I just wanted to thank my advisor and some of the students and mentors, both at Microsoft research and even outside who I had a chance to work with over the past few years. >>: [inaudible]. >> Shravan Rayanchu: So I think a lot of it has to do even with the first step, which is that I think I found administrators don't even have an idea of what is going on in the network. If a particular link is bad, why is it bad. 40 So I feel that is the biggest contribution. And coming back to your question, which is, well, what can we do about this? So really depends on the type of scenario and the actual device that you're looking at. For example, if it's a narrow band interferer, you can do simple things like, for example, changing the channel. So if it's an interferer which is using the entire channel, there's not much you can do, but just simply change the channels. But a lot of these mechanisms can actually be implemented on the access point, once it knows what interferer it's dealing with. >>: Not a techy question. So why did you decide to focus on enterprise wireless networks? Like you know, honestly, I [indiscernible] and maybe this is particularly bad. Why don't I move to a more challenging environment like [indiscernible]. >> Shravan Rayanchu: >>: So -- [inaudible]. >> Shravan Rayanchu: So the [indiscernible] actually started with the fact that at least in Wisconsin, for the last one and a half years, we probably changed our wireless vendor twice and it's mainly because of the issues that we're facing on the network. So I think [indiscernible]. But before that, it was Zerus at some point. So the issue was, in fact, I can quote you one example with Zerus. It so happened that, you know, we were not able to connect with the network or there was a lot interference. So the Zerus engineers were actually on the site for a couple of days, and they came up with this -- the first time they came, they can't really account for what's going on. And on the second visit, though, they actually came with like spectrum analyzers and they pointed microwaves and the cordless phones as the culprits for the amount of -- for the [indiscernible] that was going on in our department. So that was actually the turning point for the project, where we said well, these guys are saying the problem is because of these non-WiFi devices. We do not have any solution or infrastructure that can actually evaluate the problem. Because even their sampling was only for two days. We wanted to be sure that is actually the problem. 41 So that is actually how we started working on the problem. And I think we chose enterprise networks mainly because of the trouble, at least in our department. >>: So finish that story. So after that, you -- >> Shravan Rayanchu: So at that point, we were deploying it and we want to measure it over time and see if that is actually causing trouble. Because even at least the engineers from Zerus, for example, were able to find out that there's a lot of non-[indiscernible] activity. But they can't account for. But is the [indiscernible] activity responsible for any loss we were able to see on the link. That answer from them was not definitive. And that's what we're trying to solve right now. >>: What are some new things that might come up in [indiscernible] in the next few years. >> Shravan Rayanchu: So, you know, I think for example, simple as you go further, especially with like 11 ac and things like that, clearly you can have much wider bandwidth. In that case, especially if you're talking about what can we do with these kind of approaches, you know, we had this problem, hopping, for example. Which we don't have to deal with anymore. And our personal sampling will be much higher and we'll see only see the accuracy of the system improving much further with that kind of functionality. And even clocks on the WiFi cards are getting, I think, much better in their position, and simple things like indoor navigation, which traditionally, we have been using things like RSSI, which probably we can solve the problem much better by using these much finer clocks. Simple things like time of [indiscernible] or time difference of [indiscernible], those kind of mechanisms which can be enabled bu these newer cards that are coming out. >>: Have you tried them [indiscernible]. >> Shravan Rayanchu: No, no, because we don't have access to that sort of hardware. But I think the new chip sets. >>: [indiscernible]. 42 >> Shravan Rayanchu: Actually, I'm a little [indiscernible], and they are using that and they seem to quote a very high precision, like one to two meters. And I think they [indiscernible] Congress is like a feedback. >>: I was there. [indiscernible] other sensors. >> Shravan Rayanchu: folks. >>: At least that's the information I got from the Qualcomm [indiscernible] new access point [indiscernible]. >> Shravan Rayanchu: [indiscernible]. >>: I suppose as you discussed, you have a situation where you know there's interference, you don't have enough access points. You know where it is. Would your system in the future, perhaps suggest hey, open a probe here and then I can tell you what's going on? >> Shravan Rayanchu: So I guess, yeah, maybe for example, if you were to have a bunch of access points. The view that we're getting about the spectrum, you might be able to figure out as to figure out if there is some interference which would not account for. But if you know roughly where it exists, then maybe you can do that, yeah. >>: So let's save the question for the other meeting and let's thank him.