I was interested in ways to create additional resiliency to network faults and partitions in overlay networks. During this semester, I explored how routing packets along multiple paths can help achieve this.
For this purpose, I built a model of an overlay network that does multipath routing. It does source-based routing and uses a Min-Cost/Max-Flow algorithm to calculate an optimal k-path route. More details on the project can be found in my presentation here. The source code for this model, the routing algorithm, and the test clients can be found here.