eCommons

 

Languages for Path-Based Network Programming

dc.contributor.authorBasu, Shrutarshi
dc.contributor.chairFoster, John N.
dc.contributor.committeeMemberKozen, Dexter Campbell
dc.contributor.committeeMemberKleinberg, Robert David
dc.contributor.committeeMemberFarina, Cynthia Ruth
dc.date.accessioned2018-10-23T13:34:32Z
dc.date.available2018-10-23T13:34:32Z
dc.date.issued2018-08-30
dc.description.abstractThe notion of a path is an important abstraction for reasoning about and managing computer networks. By thinking of network configuration in terms of paths (instead of individual devices), network administrators can reap significant benefits in terms of usability, performance and correctness. Paths themselves can be specified and reasoned about using foundational computational tools such as regular expressions and Kleene Algebras. Furthermore, path-based abstractions can express key network behavior such as isolation requirements and bandwidth constraints, while supporting heterogeneity in terms of devices, physical substrates and administrative domains. This dissertation shows that it is possible to use specifications of network paths, extended with constraints on traffic classes, bandwidth, and the capabilities of network devices, to enable flexible management of modern networks. This is realized by developing path-oriented domain-specific languages to express network policies. These languages show that by starting with abstractions for network paths, it is possible to specify route and bandwidth requirements for classes of traffic, delegate policy management to trusted parties, and enable high-level management of heterogenous networks. Furthermore, by leveraging techniques and tools such as mixed-integer programming, SAT solvers and SDN controller frameworks, we have built practical compilers and runtimes for these languages. These compilers take high-level specifications of network policies and generate efficient configurations for a range of network devices including packet and optical switches, middlebox frameworks and end-hosts. We have tested these implementations by building and benchmarking a range of practical applications on real-world networks.
dc.identifier.doihttps://doi.org/10.7298/X4057D4D
dc.identifier.otherBasu_cornellgrad_0058F_10998
dc.identifier.otherhttp://dissertations.umi.com/cornellgrad:10998
dc.identifier.otherbibid: 10489738
dc.identifier.urihttps://hdl.handle.net/1813/59642
dc.language.isoen_US
dc.rightsAttribution-NonCommercial-ShareAlike 4.0 International*
dc.rights.urihttps://creativecommons.org/licenses/by-nc-sa/4.0/*
dc.subjectComputer science
dc.subjectFinite State Automata
dc.subjectOptical Networking
dc.subjectProgramming Languages
dc.subjectSoftware-defined networking
dc.titleLanguages for Path-Based Network Programming
dc.typedissertation or thesis
dcterms.licensehttps://hdl.handle.net/1813/59810
thesis.degree.disciplineComputer Science
thesis.degree.grantorCornell University
thesis.degree.levelDoctor of Philosophy
thesis.degree.namePh. D., Computer Science

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Basu_cornellgrad_0058F_10998.pdf
Size:
1.27 MB
Format:
Adobe Portable Document Format