Applying Failure Handling Techniques

The end-to-end argument principle

The end-to-end argument is a design principle, which suggests that some functions such as the fault tolerance techniques described previously can be implemented completely and correctly only with the knowledge and help of the application standing at the endpoints of the communication system.

A canonical example to illustrate this point is the careful file transfer application, where a file needs to be moved from computer A’s storage to computer B’s storage without damage.

As shown in the following illustration, hardware failures can happen in many places during this process, such as:

  • The disks of computers
  • The software of the file system
  • The hardware processors, their local memory
  • The communication system

Get hands-on with 1400+ tech skills courses.