New release of TomP2P 4.1.2-preview. The changes are:

  • upgrade to latest JDBM
  • switched to logback for logging
  • added support for Bloom filters in get() and digetst()
  • better handling of "connection reset by peer"
  • fixed PeerConnection
  • improved success evaluation for futures
  • added examples for similarity search, distributed segment trees, and Bloom filters

New major release of TomP2P 4.1.1-preview. The changes are:

  • TCP options set in try-catch to suppress warning if an option could not be set
  • suppress “connection reset by peer” in Windows
  • expose storage.map() to user
  • fixed CacheMap and ConcurrentCacheMap
  • improved bootstrapping, which includes connecting to random peers
  • fixed tracker replication
  • added more examples

Lecture / Tutorial slides online. These slides were presented by Thomas Bocek at the University of Zurich during the P2P lecture and show some of the new features in the TomP2P 4.1 release.

New major release of TomP2P 4.1.0-preview. The changes are:

  • Removed Guava, switched back to Java collections
  • Removed BerkeleyDB, switched to JDBM, rewrote storage
  • Added build-pattern to create peers
  • Switched from Java5 to Java6
  • Many, many bugs fixed
  • Added new examples
  • Further preparation for MapReduce

New major release of TomP2P 4.0.7. The changes are:

  • Preparation for MapReduce
  • Changes for SimGrid integration
  • Potential peer discovery fix for multiple interfaces
  • TomP2P-4.0.7-dist.zip now contains all the required dependencies

TomP2P can run on top of SimGrid using the Java bindings to simulate P2P networks. SimGrid is a toolkit that provides core functionalities for the simulation of distributed applications in heterogeneous distributed environments. A detailed description with examples shows how to use TomP2P with SimGrid. Please note that currently, it only runs with Linux-x64 out of the box. For other platforms, please follow the installation instructions for the SimGrid and Java binding libraries on the SimGrid website.

New major release of TomP2P 4.0.6. The changes are:

  • Timeouts for DHT operations, use Peer.setFutureTimeout() to set a timeout for any future object.
  • Fixes in tracker code and peer exchange
  • Exposed DistributedHashHashMap.parallelRequests() (was DistributedHashHashMap.loop()). There is an example in TestDHT.testCompareAndPut() how to use it.
  • Added flag to enforce UDP or TCP for RPC calls.
  • Updated to latest Netty to fix issue with Android.

New bug-fix release of TomP2P 4.0.5. The changes are:

  • Initial support for SimGrid (not quite ready yet)
  • Fixed maintenance thread issues
  • Fixed binding bug and added testcase (connection refused)

New major release of TomP2P 4.0.4. The new major features are:

  • An RPC for compareAndPut. For more information, see http://lists.tomp2p.net/pipermail/users/2012-January/000088.html
  • Moved from SVN to Git. Migration complete.
  • Bugfix: Add empty constructor for FutureTracker.
  • Upgraded Netty to 3.3.0 with patches.
  • Refined connection reservation. The user does not need to reserve connection in advance. In situations where deadlocks can occur, an new thread is started. If too many threads are started, the user is warned.

TomP2P moved from Subversion to Git. The project source code can be found on GitHub. The subversion repository is still read-only accessible.

New major release of TomP2P 4.0.3. The new major features are:

  • Cleanup and documentation of package net.tomp2p.connection.
  • Fixed bug in add() that behaved as putIfAbsent
  • Classcast exception fix for Android
  • Fixed bug in handling XMLUtils, which requires to be called synchronized
  • Upgraded Netty to 3.2.7
  • Added support for digest() and digestAll()

New major release of TomP2P 4.0.2. The new major features are:

  • Fixes for Java5 (Android) compatibility

New major release of TomP2P 4.0.1. The new major features are:

  • Distinguish in routing between DHT and bootstrap operation to set success or failure correctly
  • New facades (PeerAddress and Peer.remove)
  • Added evaluation of digest information from the routing process to make get() more efficient
  • Smaller fixes and cleanups

New major release of TomP2P 4.0.0. The new major features are:

  • Better UPNP support and new NAT-PMP (jNAT-PMPlib) support.
  • New persistent connections, because the user knows best when a connection should stay open.
  • New connection handling and connection reservation.
  • Upgraded libraries (Netty, Guava, BerkleyDB).
  • Lots of fixes.

New Bugfix Release of TomP2P 3.2.11. Major changes: Fixed endless loop in Peer.java.

The work on the new version 4 of TomP2P has already started. This means that for version 3 only bug fixes will be considered. New features go into version 4. For feature requests, please use the mailing list.

The Challenge Task is over, group 4 won this challenge. Congratulations! Thanks to all groups for their hard work on developing, presenting, and demonstrating interesting and diverse approaches to solve the Challenge Task 2011. The reports and source code of each group can be downloaded here.

New Release of TomP2P 3.2.10. Major changes: PeerAddress serialization improvements and smaller fixes.

New Release of TomP2P 3.2.9. Changes: Android fixes, improved the mesh-based distributed tracker, and tested with IPv6 (with Linux only).

New Release of TomP2P 3.2.8. Changes: tracker get() searches for random trackers rather than always the same; fixed signature check for entry and domain protection.

New Release of TomP2P 3.2.7. Major changes: fixed UPNP NAT / port forwarding detection mechanism and updated dependencies (Netty, Berkeley DB).

TomP2P will be used for the Challenge Task organized by Prof. Dr. Burkhard Stiller, Fabio Hecht, and Guilherme Machado, from the University of Zurich. The task is to implement a P2P DNS with the following requirements: Peers will collaborate to provide an independent DNS resolver, that is, every peer must listen on port 53 and “speak” DNS. No authority may be present, that is, the system will suffer no influence from ICANN or governments. Conflicts must be solved by the peers themselves (for example, using voting or a web of trust). Assumptions must be made regarding who has the right to use which name. According to the assumptions made, it must not be easy for a peer to hijack a domain name it has no right to, although more complex attacks don’t have to be considered.

New Release of TomP2P 3.2.5. Major changes: support for layer 2 broadcasting.

New Release of TomP2P 3.2.4. Major changes: releasemanagement with maven, support for OSGi.

Released TomP2P 3.2.3-beta. Major changes: replication for trackers and fixed ConcurrentModificationException.

Released TomP2P 3.2.2-beta which solves performance issues when using trackers (detailed changelog).

Released TomP2P 3.2.1-beta. Please find the detailed changelog here.

First release of TomP2P with public announcement. Major changes are support for disk-based storage, indirect replication, and experimental support for port forwarding detection. Please find the detailed changelog here

Anonymous SVN repository available here.