In recent years peer-to-peer networks have developed from unstructured to structured overlay networks. Structured peer-to-peer overlay networks facilitate a bounded number of messages in the number of peers for querying and publishing content opposed to unstructured networks, which usually flood the network with messages. To prevent the messages from overflooding the network they have a bounded life time, which may cause that some published content will be lost. Structured peer-to-peer networks guarantee that all published content can be found. One well known structured overlay network is the chord distributed hash table. An implementation of chord is only available in C, but not in Java, which is used widely and often in computer science education. This manual describes an open source implementation of chord in Java - called Open Chord - and how it can be used in Java-based applications. It provides a console-based experimentation environment to explore the functionality of chord, as well.
Information about online presence allows participants of instant messaging (IM) systems to determine whether their prospective communication partners will be able to answer their requests in a timely manner, or not. That is why presence information, combined with the ability to send instant messages, makes IM more personal and closer than other forms of communication such as e-mail. On the other hand, revelation of presence constitutes a potential of misuse by untrustworthy entities. A possible risk is the generation of online logs disclosing user habits. This makes presence information a resource worth protecting. We argue, however, that current IM systems do not take reasonable precautions to protect presence information. We implemented an IM system designed to be robust against attacks to disclose a user’s presence. In contrast to existing systems, it stores presence information in a registry in a way that is only detectable and applicable for intended users and not comprehensible even for the registry itself. We use a distributed hash table (DHT) as registry and apply an anonymous communication network to protect the physical addresses of both senders and receivers of messages.