I am broadly interested in the optimization of networked systems. My research tends to focus on the role of incentives and user behavior in this optimization--the performance of a network is largely driven by the collective behavior of its users, yet user behavior can also be influenced by a network operator's actions. My work is application-driven, drawing on tools from economics, optimization theory, and computer systems (and occasionally dynamical systems, queuing theory, human-computer interaction,...) to design, analyze, and optimize system performance and user behavior. Some examples of past applications are below. More recently, I have started some projects on smart infrastructure functionalities, including vehicular networks and drone swarms (stay tuned for results!).

Smart Data Pricing (SDP)


This video shows me talking about some of my SDP work.


As more people use the Internet for an ever greater variety of tasks, the resulting growth in data traffic threatens to exceed network capacity. SDP argues that the very diversity in usage that is driving traffic growth points to a solution for this fundamental capacity problem. We propose to look at the users who drive demand for data and ask: what incentives should network and content providers offer users in order to reduce network congestion? Finding these incentives is not easy--simply raising prices will anger users, yet users may not be able to understand and respond to more sophisticated pricing. My research demonstrates the feasibility and benefits of SDP by taking an end-to-end approach from economic models to practical deployments. For instance, my work analytically and experimentally showed for the first time that time-dependent pricing is effective for mobile data users.


SDP has been the focus of two industry-academia forums, a series of academic workshops, and a book that I co-edited. My SDP work received the INFORMS ISS Design Science Award in 2014 and was commercialized by my startup DataMi.


Cloud Resource Allocation


When competing for resources, purely rational users would act to maximize their own gain. However, empirical evidence shows that users also care (to different degrees) about the fairness of the resulting resource allocation. Accommodating this preference is particularly difficult in cloud systems, which require fairly allocating multiple, non-substitutable resources: fairness is usually defined only for a single resource. Datacenter operators must therefore rethink what makes a resource allocation "optimal," which is further complicated by the heterogeneous deadlines, localization, and interruptibility requirements of different jobs.


As part of my work in this area, I and my colleagues created the first general theory of fairness for multi-resource allocations and applied it to cloud resources. Within the cloud context, I also developed algorithms for routing jobs among datacenters and finding users' optimal responses to cloud resource pricing. My work on fairness won the Best Paper Award at IEEE INFOCOM 2012.


Distributed Network Architectures


As more and more "things" come online, the edge of the Internet is rapidly gaining greater computational, communication, and storage capabilities. At the same time, expanding the number of devices connected to data networks can make them more vulnerable to failures and less able to accommodate different users' performance requirements. Fog networking is an architecture that solves these challenges by using one or a collaborative multitude of end-user clients or near-user edge devices to carry out a substantial amount of storage, communication and management. This shift allows individual users, who may have very different service requirements and preferences, to impose these requirements on the services that they receive. For instances, users may have different QoS requirements depending on the data they access. My research realizes fog architectures for cloud storage, network capacity allocation, and cooperative computing.