GGrantIndex
← Search

SHF: Medium: A Balance of Power: Programming and Reasoning for Software-Defined Networks

$1,004,152FY2014CSENSF

Brown University, Providence RI

Investigators

Abstract

Computer networks use switches, routers, and other devices to process and forward traffic. In a traditional network, these devices coordinate to agree on how traffic should be forwarded. Software-defined networks (SDN) replace this distributed control with a logically centralized controller program which dictates forwarding behavior to each device by installing rules which can include instructions to send certain traffic to the controller for processing or notification. Incorrect rules can lead to the controller missing vital notifications, giving it an incorrect view of the network's state and potentially harming network functionality. On the other hand, if traffic is sent to the controller needlessly, performance can suffer. This project is developing Flowlog, a tierless SDN programming language. A tierless language unifies the disparate layers of programming for SDNs: the controller program itself, switch forwarding rules, and the controller's internal state. Flowlog safely handles rule-management on the switches automatically, without any intervention from the programmer. This not only simplifies development, but also prevents the above bugs that can arise from manual rule-installation. Finally, Flowlog programs can interact with arbitrary other programs, even those not written in Flowlog. Since a failure in a controller program can compromise the entire network, program reliability is of central importance. Thus, Flowlog is designed to enable automatic reasoning about programs, and the project is building in support for program verification (both for a specific network and in general), differential analysis, fault-tolerance testing, and even automated repair of errant programs.

View original record on NSF Award Search →