Publication: Practical Intrusion-Tolerant Networks! To appear in the IEEE ICDCS 2016 (see Related publications below).
Version 5.1 available! New support for Inter-Process Communication and minor improvements to the Intrusion-Tolerant functionality.
Spines is a generic messaging infrastructure that provides transparent unicast, multicast and anycast communication over dynamic, multi-hop networking environments without the need for expensive router programming environments or low level router coding. It provides automatic reconfiguration and network flexibility required for research and production deployments.
Some of the main usages of Spines are:
Spines instantiates virtual router nodes on participating computers and creates virtual links between these nodes. Spines uses best-effort links, as well as reliable and soft real-time links between the nodes for store and forward capabilities. Packets are routed automatically through the network topology. The Spines topology can be dynamically adjusted, and nodes select their routing based on various metrics including hop distance, latency or packet loss.
In order to use Spines, applications use an API almost identical to the Unix Socket interface. Virtually any socket-based application can be easily adapted to work with Spines. The Spines API provides TCP and UDP-like functions for both reliable and best effort point to point communication, and also provides multicast functionality in a transparent way, very similar to IP Multicast.
Spines was created by Yair Amir, Claudiu Danilov, John Schultz, Daniel Obenshain, and Thomas Tantillo. It is currently developed by the Distributed Systems and Networks Lab at Johns Hopkins University and at Spread Concepts, LLC.
Spines may be freely used and distributed under some conditions. Please review the
license agreement for more details.
Complete Change Log