Software-defined networking (SDN) is a key enabling technology facilitating the transition to a next generation of software defined infrastructure incorporating virtualized network functions, 5th generation cellular networks and advanced wireless communication technologies, and edge computing. Despite SDN’s crucial role ahead, the networking research community still needs key techniques and tools to maintain highly available and resilient networks; SDNs are prone to software design and implementation errors that can have catastrophic consequences, e.g., network failures.
This project addresses these needs by introducing a novel paradigm that advocates overcoming software `bugs-by transforming the bug triggering inputs into ‘safe’ inputs. To support this paradigm, the project will develop designs, abstractions and algorithms to identify, isolate, and transform the triggering inputs into safe inputs in a systematic and principled manner.
This project will examine several research thrusts to enable practical bug-tolerant networks including to (1) introduce frameworks and designs that guarantee bug recovery and forward progress by transforming bug-triggering inputs into different, but equivalent inputs; (2) design an abstraction and cross-layer network transactions that provide atomicity and consistency during and after
recovery from triggered events; (3) develop algorithms that maximize the efficiency of the proposed frameworks by statically analyzing control and data plane source code, and modeling protocol interactions; and (4) generalize techniques beyond current SDN paradigms (e.g., OpenFlow) to emerging
and future paradigms with stateful data planes and expressive interfaces (e.g., P4).
This award reflects NSF’s statutory mission and has been deemed worthy of support through evaluation using the Foundation’s intellectual merit and broader impacts review criteria.