Network-friendly Epidemic Multicast



The NeEM library provides an implementation of epidemic multicast (also called probabilistic or gossip-based) in wide-area networks by using multiple TCP/IP connections in a non-blocking fashion. The resulting overlay network is automatically managed by the protocol.

Epidemic multicast protocols achieve stable high throughput regardless of node and network faults and scale to very large numbers of participants. The resulting protocol can be used for event dissemination to a very large number of interested parties.


Implementation is based on Java and takes advantage of the NIO interfaces to maintain multiple network connections without threading overhead. The goal of this implementation is to be small, self-contained, and practical.

Latest News

(2013-02-10) Source moved to GitHub.

(2010-02-25) Version 0.7 released. Small bug fixes and optimizations. Source code is now managed with Bazaar.

(2008-06-01) Scalable Internet feed distribution system based on on NeEM now available. See the applications page.

More news...

(2007-08-09) Version 0.6 released. Introduces logging and the ability to bind to and advertise specific addresses. Some dead code removed in the network layer. UPnP based NAT traversal sample application added.

(2007-05-06) Two NeEM-related papers featured in an upcoming conference. Check the documents page for details.

(2006-07-03) Version 0.5 released. Much improved overlay management and gossiping, which is now much less bandwidth intensive. Statistics available on JMX. Several bugs fixed and general code cleanup. Configuration calculator added to applications.

(2006-04-23) RSS proxy based on NeEM contributed. See the applications page.

(2006-02-09) Binding for jGCS released. See the applications page.

(2006-04-23) Version 0.4 released. Internal refactoring and some bugs fixed. Several new demonstration applications and utilities added.

(2006-01-19) Version 0.3 released. Improved stability. Management using JMX allows protocol parameters to be fine-tuned. Package renamed to net.sf.neem.*.

(2005-11-25) Version 0.2 released. Provides a simple and safe interface targeted at application programmers. Fixes garbage collection of messages ids and a number of other small issues.

(2005-07-13) Version 0.1 released. Implements the basic NeEM protocol with dynamic membership. The only buffer management strategy implemented so far is random purging.

More Information

More information about the software, documentation, mailing lists, and developer contacts can be found in project pages.