Visible to the public Event-driven Network Programming

TitleEvent-driven Network Programming
Publication TypeConference Paper
Year of Publication2016
AuthorsMcClurg, Jedidiah, Hojjat, Hossein, Foster, Nate, Černý, Pavol
Conference NameProceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4261-2
Keywordscomposability, concurrency and security, concurrency security, consistent update, event structure, Metrics, NetKAT, network update, pubcrawl, Resiliency, SDN, software-defined networking
Abstract

Software-defined networking (SDN) programs must simultaneously describe static forwarding behavior and dynamic updates in response to events. Event-driven updates are critical to get right, but difficult to implement correctly due to the high degree of concurrency in networks. Existing SDN platforms offer weak guarantees that can break application invariants, leading to problems such as dropped packets, degraded performance, security violations, etc. This paper introduces EVENT-DRIVEN CONSISTENT UPDATES that are guaranteed to preserve well-defined behaviors when transitioning between configurations in response to events. We propose NETWORK EVENT STRUCTURES (NESs) to model constraints on updates, such as which events can be enabled simultaneously and causal dependencies between events. We define an extension of the NetKAT language with mutable state, give semantics to stateful programs using NESs, and discuss provably-correct strategies for implementing NESs in SDNs. Finally, we evaluate our approach empirically, demonstrating that it gives well-defined consistency guarantees while avoiding expensive synchronization and packet buffering.

URLhttp://doi.acm.org/10.1145/2908080.2908097
DOI10.1145/2908080.2908097
Citation Keymcclurg_event-driven_2016