I am looking for information on techniques, algorithms, etc. on how to maintain network integrity in a dynamic peer-to-peer network. Both practical implementations, academic papers and anything else in that category are welcome.
Imagine a network that is solely peer-to-peer based where each node is only connect to x other nodes. Without having a grand list of all nodes, each node is responsible for maintaining a connection with the network. Nodes go down and come up dynamically, meaning each node needs to ask it’s neighbors (and their neighbors?) for new nodes to connect to, in order to maintain the x number of connections.
Network segmentation (two halves of the network are only connected by one node from each network – if either of those go down, the network splits into two) and how to avoid this and efficient routing (distance metrics, etc.) are my main interests, but anything relating to networks with similar descriptions would be interesting.
I am currently looking at the Chord DHT protocol as it has some similarity to what I’m asking.
For ubiquitous computing various ad-hoc P2P networks have been developed and they’d probably fit your needs. It’s been used for example in the army to deploy small capsules each talking to neighbors up to usually some command center. If you don’t have a center, it may be related to distributed computing, anyway here are some links:
–