Brian Noble
Associate Professor of Computer Science and Engineering
University of Michigan
2260 Hayward Avenue, Ann Arbor, MI 48109-2121
Ph: 734-936-2971 Fx: 734-763-8094
Brian Noble
Associate Professor of Computer Science and Engineering
University of Michigan
2260 Hayward Avenue, Ann Arbor, MI 48109-2121
Ph: 734-936-2971 Fx: 734-763-8094
My research program is centered on empirical computer science and systems building. It focuses primarily in the domain of mobile, pervasive, and ubiquitous computing, but with contributions in distributed systems, networking, and operating systems. Here are a few of our ongoing projects, highlighting some recent results and pointing out places were we think we can go next. If you are a student here at Michigan--undergraduate or graduate--and want to get involved, drop me a note! For a complete list of publications, see my CV on my home page.
Mobility Modeling. Mobility is central to wireless and mobile computing. Good models provide insight into systems design, and provide a sound basis on which to compare competing systems. In our prior work, we developed a technique that can generate a compact, repeatable model from observing wireless clients as they associate to various access points in an infrastructure [MobiSys 2006b]. The resulting model generates movement that is representative of the original patterns, though they are not directly repeated. Interestingly, real people move much more regularly, reputably, and predictably than most synthetic models, and this can lead to very different design decisions. Such repeatable patterns also allow a number of other interesting applications. For example, we observed that regular and repeatable human motion might well give us insight into vehicular traffic patterns as well. Indeed, we are able to use a form of crowdsourcing to identify situations in which vehicular traffic is slowed due to construction or congestion, relying only on GPS location and very modest computation and communication resources [MobiSys 2007]. This is much less expensive than placing infrastructure in or near surface roadways, and has the potential to save significant time and fuel wasted in such situations today.
There are several other potential uses for good mobility models. For example, one might be able to create location management schemes that are more accurate, power efficient, and privacy-preserving if they are informed by a closed-form model of the user. Likewise, such models can be used to better inform data placement, staging, and replication decisions. Doing so without weakening availability and survivability guarantees afforded by random placement is an area of open work, but one that we think can be solved, giving the best of both worlds.
Wireless Network Management. Many of the components in wireless systems were designed with a specific set of assumptions. However, as the underlying technology evolves, the assumptions on which these components were based turn out to be untrue, leading to sub-optimal or incorrect behavior. As an example, consider the problem of wireless access point association. In a corporate campus setting, the wireless link is typically the bottleneck, and all access points (APs) have equivalent back-end connectivity. Thus, choosing an AP based on signal strength is wise. Unfortunately, most APs in public settings satisfy neither of these assumptions, and choosing based on signal strength is no better than random selection. Instead, our work shows that it is possible to briefly probe alternatives to choose the one that will give the best overall performance [MobiSys 2006a]. Because mobility is repeatable, one can often re-use past observations, minimizing overhead. One can go even further, by combining the sorts of mobility models discussed above with a map of the network coverage space. This allows you to predict the expected network capabilities in the near- to medium-term. Exporting this as a new abstraction for applications enables them to better schedule their opportunistic traffic, and provides significant performance and power improvements in those workloads [MobiCom 2008].
Finally, when a device has more than one networking option available, network flows are typically assigned to the interface with the shortest routing distance to the destination. In a wired setting, this is reasonable, but rarely so in the wireless context. Intentional Networking allows applications to disclose very simple, qualitative hints about the characteristics of network traffic, so that the system can best match traffic to available options. This creates concurrency within a single network flow, but mutual exclusion and ordering constraints allow the system to re-order traffic to minimize response time for interactive traffic while preserving throughput for opportunistic flows [MobiCom 2010].
Information Access for the Developing World. One of the major indicators of the digital divide in developing countries is the serious lack of network resources. Connectivity is very expensive, and there is at least an order of magnitude difference between the end user bandwidth available in developing countries and the developed world. Connectivity is often provided through internet kiosks or public libraries that usually have long waits, with slow, shared dialup connections that have effective bandwidth per user in the tens of Kb/s. Many of the obvious techniques are less helpful than one would like, as there is evidence that personal data---data is which is not shared across users---is more prevalent in developing-world workloads than elsewhere [NSDR 2011]. By leveraging the penetration of SMS-capable cell phones in these communities, we have developed and deployed a system that allows users to pre-stage their personal data at kiosks, when they plan to arrive [WWW 2010]. In order to facilitate the trust and market relationships required for this approach to scale, we have also developed a simple, voice and SMS-powered market/auction system that can also be applied more generally [ICTD 2010]. This work has all been based on pilot studies and test deployments in India and Ethiopia, and many opportunities remain.
In-Vehicle Usability. This is a new project, dealing with the usability of in-vehicle applications. Several different manufacturers are taking steps to allow after-market, third-party applications to run on in-vehicle platforms. However, doing so invites considerable safety concerns. Guidelines exist that help to minimize those concerns, but it is unclear how one demonstrates that a particular application follows these guidelines. In this project, we are exploring automated tools to assist with this process.