Adaptability

P2P networks are very unpredictable in nature; machines with different specifications and networking capabilities, can be connected to and from them at will. A P2P system needs to be able to adapt when such changes occur to ensure its continued operation (for example, a computational system needs to adapt how it distributes processing when a new node is added to the system). Adaptability is a systems ability to adapt to a dynamically changing environment.

 

However adaptability is not merely restricted to changes to the network topology. It can also involve the network evolving to increase its overall efficiency. This can be important should it become apparent that certain nodes act as bottlenecks, while others are being underused. For example, if it becomes apparent that routing is being done via a node with a low bandwidth connection. Such adaptability has been shown to happen in some existing P2P systems such as Gnutella.

 

How successful a P2P network is at adapting itself can be influenced by the type of underlying architecture used.