Publication: Practical Intrusion-Tolerant Networks, presented at ICDCS 2016.
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:
- Create generic network topologies with dynamic link characteristics (bandwidth, latency, loss rate,
burstiness) on regular computer clusters.
- Deploy overlay networks in the Internet, to achieve
additional services not available in the current networking infrastructure (e.g. overlay multicast),
as well as improved performance for existing services.
- Create a logical LAN over unorganized, multi-hop hybrid and wireless networks. As an
example, it provides the communication infrastructure between wireless access points in
SMesh, a completely transparent wireless mesh network with
- Deploy an intrusion-tolerant overlay network
on existing Internet (IP) infrastructure to overcome attacks and compromises in both the
underlying network and overlay itself. The intrusion-tolerant overlay provides performance
guarantees (i.e., strict timeliness or strict reliability) even while under attack. See
Intrusion Tolerant Documentation for more details.
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,
Daniel Obenshain, and
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.
- Version 5.1 - May 17, 2016
- Version 5.0 - Jan 26, 2015
- Version 4.0 - Sep 4, 2013
- Version 3.2 - May 15, 2009
- Version 3.1 - Mar 21, 2008
- Version 3.0 - May 31, 2007
- Version 2.2 - Dec 20, 2005
- Version 2.1 - Jan 18, 2005
- Version 2.0 - Dec 14, 2003
- Version 1.0 - Jan 17, 2003
Complete Change Log
Practical Intrusion-Tolerant Networks
In Proceedings of the IEEE 36th International Conference on Distributed Computing Systems, Nara, Japan, June 2016, pp. 45-56
Md. Endadul Hoque,
Fast Handoff for Seamless Wireless Mesh Networks
In Proceedings of the 4th international Conference on Mobile Systems, Applications and Services (Uppsala, Sweden, June 19 - 22, 2006). MobiSys '06. ACM, New York, NY, 83-95.
Questions or comments to:
TEL: (410) 516-5562
FAX: (410) 516-6134
Distributed Systems and Networks Lab|
Computer Science Department
Johns Hopkins University
3400 N. Charles Street
Baltimore, MD 21218-2686