SRON: A Software-Defined Overlay Network

During the Spring semester of my junior year, I decided to do a research project
with Professor Jen Rexford, who is not only
a networking God but also probably the best advisor one can over hope to work with.
We worked together on a Software-Defined Networking project called
SRON: A Software-Defined Overlay Network. I had never done research in
networking before, as usually I work on projects that involve working with
physical hardware devices. Nonetheless, I learned a bunch from all of the obstacles
I faced in building SRON, from basic network programming to how to deal with
distributed computing problems like timing events across a distributed system.
And, not to brag, but I thought of some “neat” solutions to these problems
that you can read about in my paper.

So what is SRON? In short:

SRON is software written in the network
programming language Pyretic that allows internet service
providers to create an overlay network over their physical
network to help them better respond to routing outages, congestion, and more. In
particular, internet service providers (ISPs) can often monitor the routers within their
networks well, but once network traffic leaves their domain and is handed off
to a second ISP, the original ISP cannot easily monitor routing performance.
SRON allows a single ISP to monitor the latencies of various paths throughout
the Internet, even those paths that might cross through many ISP domains, and
to dynamically alter routing rules based on those latencies.