About Us











Secure Spread

Home Documentation License Download Mailing List Credits

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:

  • 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 instantaneous handoff.
  • 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, 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.


  • 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

Related publications

Practical Intrusion-Tolerant Networks
Accepted to the IEEE International Conference on Distributed Computing Systems (ICDCS), June 2016.
Daniel Obenshain, Thomas Tantillo, Amy Babay, John Schultz, Andrew Newell, Md. Endadul Hoque, Yair Amir, Cristina Nita-Rotaru

Intrusion-Tolerant Cloud Monitoring and Control
In Proceedings of the 2012 Workshop on Large-Scale Distributed Systems and Middleware (LADIS 2012), Madeira, Portugal, July 2012. Invited paper.
Daniel Obenshain, Thomas Tantillo, Andrew Newell, Cristina Nita-Rotaru, Yair Amir

An Overlay Architecture for High Quality VoIP Streams
IEEE Transactions on Multimedia, vol. 8, no. 6, 2006, 1250-1262.
Yair Amir, Claudiu Danilov, Stuart Goose, David Hedqvist, Andreas Terzis

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.
Yair Amir, Claudiu Danilov, Michael Hilsdale, Raluca Musaloiu-Elefteri, Nilo Rivera

1-800-OVERLAYS: Using Overlay Networks to Improve VoIP Quality
In the Proceedings of the 15th International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV), Skamania, Washington, June 13th-14th, 2005.
Yair Amir, Claudiu Danilov, Stuart Goose, David Hedqvist, Andreas Terzis

Reliable Communication in Overlay Networks
In the Proceedings of the IEEE International Conference on Dependable Systems and Networks (DSN03), San Francisco, June 2003.
Yair Amir and Claudiu Danilov.

High Performance, Robust, Secure and Transparent Overlay Network Service
In FuDiCo 2002: International Workshop on Future Directions in Distributed Computing , Bertinoro(Forli), Italy, June 3-7 2002.
Yair Amir, Claudiu Danilov, and Cristina Nita-Rotaru.

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