Sunday, August 30, 2009

END-TO-END ARGUMENTS IN SYSTEM DESIGN

The paper compares the end-to -end argument against low-level implementation with examples of reliable data transmission, guaranteed message delivery, encryption, duplication, and message sequencing.

For example, by the consideration of an application of file transfer between two hosts, there are many causes of threats that must be concerned even by some functions at low level (providing packet checksum and sequence number, retry mechanisms) or at application level ( end-to-end check and retry). While the end-to-end checking and retrying guarantee correct file transmission, communication system can reduce the frequency of retries by the application program and reduce the delay to correct the failures. If the communication system is unreliable, then the end-to-end checksum fails frequently. However, internal reliability within the communication system imposes a cost; bandwidth, and delay, especially for applications that don't require such enhancement since the communication system is common to different application programs.

The end-to-end argument has been applied on SWALLOW distributed data storage system, where suppression of duplicated message and providing delivery acknowledgement are implanted at the application level. This has resulted in reducing the number of message transmission to the half.
However, identifying the ends over the communication network and the knowledge of the application standing at the end point of the communication are very important for function placement and choose the argument should be applied.
Finally, the paper lists number of implementation of end-to-end argument ; of delivery acknowledgment, encryption, error control and correctness in application systems, etc.

1 comment:

  1. Do you think the E2E argument makes sense? What about lossy network links, for example?

    ReplyDelete