Welcome back. In this lecture, I'll give a brief overview of the emergence of software-defined networking in wireless networks. We don't have time to cover this topic in great depth, but I'll give a brief overview of a couple projects where software defined networking is showing some promise. Let's first talk about the goals of software-defined networking as it applies to wireless networks. In short, what STN is aiming to do in wireless networks is to open up the radio interface. Key reasons for doing these are the rapidly evolving wireless networking protocols, the diversity of applications running over wireless networks, and the shared growth of wireless networks in a wide diversity of settings. Software-defined networking attempts to open up these wireless networks like decoupling software functionality and complexity in the underlying hardware using a judicious split of function as well as a variety of high level software extractions. Before going into the solutions, let's talk about some of the motivations in more detail. Cellular network standards are evolving incredibly quickly. 3GPP releases a major new version about every 18 months and minor updates are issued continuously. New features are added as optional sets requiring infrastructure to support multiple releases simultaneously as different modes. To add to that, even decades old standards persist, and yet, deployment lagged standardization by several years. Major LTE releases several versions back are still under deployment while the most recent versions are being standardized. So, how can we design infrastructure to keep up with new standards? One way to do that is to decouple the protocol definition from the hardware. Build the infrastructure once and keep programming it on every update. Cellular operators are beginning to move to this mode of software-based programmable base stations. Wireless data growth is remarkable and wide area wireless connectivity remains poor. Mobile carriers are particularly struggling to keep pace with these rapidly growing demands. Traffic is growing exponentially, but at the same time, the fundamentals of the wireless network are not getting any faster. So the question is how to substantially improve wireless capacity. The paradox here is that there's extreme density in heterogeneity of access points. As we know when we try to operate a mobile device in many settings, we can see tons of access points in base stations, and yet we such poor connectivity. So why can't we make our wireless ISP seamlessly connected to the best access point available and possibly connect to multiple APs if I want more speed? The problem is that wireless networks are by and large complex and closed. They don't expose network state, so it's hard to know about all the available access points, their speeds, their loads, and so forth. And also, they don't provide external control, so it's hard to request flow specific services from the network. OpenRadio aims to solve this problem. In essence, it's SDN for wireless. It's a wireless network architecture that provides software interfaces that''ll allow a control program to query wireless networks about availability, quality, speed, user location, and so forth. And control the granularity for how an individual user or application traffic is handled by the network. Here's some more detail about the OpenRadio access dataplane. Open radio APs are built with merchant silicon, and the single hardware platform is capable of supporting LTE, 3G, WiMax, and WiFi. It uses OpenFlow for layer three, and by design, it keeps its costs relatively inexpensive. The hardware exposes are familiar match action interface to program how a flow's forwarded, scheduled, encoded, prioritized, and so forth. The match part of the control interface is fairly familiar. It identifies and tags flows for individual users in applications, just as we've seen. The actions are a little bit richer. In addition to controlling how packets are routed, it can also control what speeds and priorities the base stations give them and how they're scheduled at the access point. The Control Plane is effectively a Network Operating System that provides software abstractions to simplify the development of new services, hiding network heterogeneity, the complexity of finding network state, and the complexity of controlling the behavior of individual flows. One possible application is to assign different traffic classes to different Applications. LTE are really specifies several traffic classes. So, Software Controller might assign different application flows to different traffic classes. A software programmable infrastructure to automatically assign this application flows to the traffic classes makes this a lot more flexible. Another emerging application is the use of SDN to coordinate cells and access points. As cell sizes get smaller to meet capacity demands, these smaller macro cells mean there are fewer uses per cell and interference begins to dominate. It also becomes harder to migrate between different cells, an event that becomes much more frequent as these cells get smaller in size. So, an interesting SDN application for wireless is figuring out how to make these base stations coexist with one another. The design goals and challenges of OpenRadio are to provide a programmable wireless dataplane that can be customized remotely after deployment that can provide modularity to make programming easy by hiding hardware details and how different modules are connected together and that can be built using off the shelf software components. In future offerings of the course, I imagine we'll see a lot more progress in this area. In addition to OpenRadio, there's some other emerging areas and technologies. One area is in radio access networks where a software defined networking controller can coordinate antenna direction and power to minimize interference across radio towers. In cellular networks, placement of software functions near basestations can help optimize backhaul and facilitate measurement and billing. There's also some recent work in programmable, open-flow based Wi-Fi access points. In conclusion, the promise of SDN in wireless is providing a programmable wireless dataplane that offers a rich programming interface for wireless radios and efficient implementation and infrastructure that can be built using off-the-shelf components. The goal is to balance flexibility, performance, and modularity. As I said, much work remains in SDN for wireless, but I imagine we'll see a lot of developments in the coming few years.