CrossFlow: A cross-layer architecture for SDR using SDN principles

Software defined radios (SDR) have revolutionized communications by enabling flexible implementation and deployment of physical layer and medium access control protocols through software, without the need for specialized hardware. Although SDRs have been around for many years now, there is still tremendous interest to make them work in scenarios that were not previously thought possible. One such scenario is to build a network of SDRs that can be handled in a programmatic manner. The challenge for building such an architecture is that there is a plethora of radio protocols that need to be supported, each having its own nuances. To address this, we need to build fundamental abstractions that provide enough visibility so that a programmer can implement protocols, while at the same time being rigid enough not to expose excessive details that will complicate the application development process. The purpose of this work is to introduce a principled approach to building a cross-layer architecture using the basic building blocks of SDR and the principles of Software Defined Networking (SDN). SDN provides a great level of programmability into devices through the separation of the control and data planes. This paradigm enforces development of abstractions necessary to support SDRs. We validate this design through a proof-of-concept implementation.