About Us

People

Research

Publications

Funding

Download




SMesh

Spines

Spread

Secure Spread




























Home Documentation License Download Mailing List Credits


Version 3.2 available!

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:

  • Creates generic network topologies with dynamic link characteristics (bandwidth, latency, loss rate, burstiness) on regular computer clusters.
  • Deploys overlay networks in the Internet, to achieve additional services not available in the current networking infrastructure (e.g. overyay multicast), as well as improved performance for existing services.
  • Creates 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.

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 in 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 functinality in a transparent way, very similar to IP Multicast.

Spines was created by Yair Amir and Claudiu Danilov, and is currently developed at the Distributed Systems and Networks Lab at Johns Hopkins University.

Spines may be freely used and distributed under some conditions. Please review the license agreement for more details.

Releases

  • 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

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:
webmaster_at_spines.org
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