paper

End-To-End Arguments in System Design

  • Authors:

📜 Abstract

This paper presents and elaborates the end-to-end argument, an argument that helps guide placement of functions among the modules of a distributed computer system. The argument suggests that functions placed at low levels of a system may be redundant or of little value when compared with the cost of providing them at that low level. Examples where this argument is applied include bit error recovery, security using encryption, and duplicate message suppression. Low-level mechanisms to support these functions are justified only as performance enhancements. Re-examination of the reasoning leads to several examples of low-level function implementation where the end-to-end argument illuminates their consequent strengths and weaknesses.

✨ Summary

The “End-To-End Arguments in System Design” paper, published in 1984 by J.H. Saltzer, D.P. Reed, and D.D. Clark, presents foundational concepts in system design, particularly emphasizing the importance of assigning functionalities within distributed computing systems at the highest requisite level. The paper’s rationale implies that particular functions such as reliability and security may be futile if executed at lower system levels, suggesting optimal placement at end-user points where the ultimate necessity occurs.

This foundational work has since profoundly impacted the development of network protocols, notably influenced the design of the Internet, including TCP/IP protocol development. The paper’s end-to-end argument has also been instrumental in shaping modern distributed systems design, including fault-tolerance and efficiency strategies in large-scale systems. Its influence is noted in subsequent scholarly and industry discussions, notably impacting distributed communication systems and distributed fault-tolerance strategies such as those in cloud computing and modern Internet applications.

Prominent citations include: - “End-to-End Arguments in System Design: a few considerations” which further explores implementations relevant to system design (IEEE Xplore) - RFC 1958 “Architectural Principles of the Internet,” which discusses end-to-end arguments in the context of Internet infrastructure (RFC Editor) - Numerous academic courses and articles that reference this paper while discussing system design methodologies and Internet architecture.