Reliability

Reliability is arguably the most important characteristic of almost all software systems. As users expectations of quality have increased, it is no longer acceptable to deliver software that can fail on a regular basis. Unreliable software can result in high costs for the end-users, and can give the software developers a bad reputation for quality. However, it is difficult to define reliability precisely. More formally, a reliable system should conform to its specification, however essentially, you can think of it as the extent to which a system behaves as expected by a user.

 

The reliability of a software system is not a simple measurement that can be associated with the system. A system’s perceived reliability is often based on its pattern of usage. It is quite possible for a system to manifest faults yet be seen as reliable by users of the system.

 

Reliability is important within a P2P system due to its distributed nature. A P2P system is particularly prone to network failures and so mechanisms need to be considered that can reduce the impact on the system should one occur.