Advancements within the study of vehicular systems are critical to, among other things, the progress toward driverless navigating capabilities, improved safety, reduction of energy consumption, and minimization of CO2 omission. Current limitations facing vehicular systems do not allow operation on public roads, as the risk of causing severe damage cannot be excluded with sufficient certainty. High costs associated with testing of full-scale vehicular systems also keep a broad range of universities, public research and engineering institutes out of the development and prototyping. The Gulliver project studies vehicular systems of low cost miniature vehicles that use wireless communication on a larger scale open source test-bed.
By introducing programmability, automated verification, and innovative debugging tools, Software-Defined Networks (SDNs) are poised to meet the increasingly stringent dependability requirements of today’s communication networks. However, the design of fault-tolerant SDNs remains an open challenge. This paper considers the design of dependable SDNs through the lenses of self-stabilization - a very strong notion of fault-tolerance. In particular, we develop algorithms for an in-band and distributed control plane for SDNs, called Renaissance, which tolerate a wide range of (concurrent) controller, link, and communication failures. Our self-stabilizing algorithms ensure that after the occurrence of an arbitrary combination of failures, (i) every non-faulty SDN controller can eventually reach any switch in the network within a bounded communication delay (in the presence of a bounded number of concurrent failures) and (ii) every switch is managed by at least one non-faulty controller. We evaluate Renaissance through a rigorous worst-case analysis as well as a prototype implementation (based on OVS and Floodlight), and we report on our experiments using Mininet.