Wednesday, June 24, 2009

Review: End-to-End Arguments in System Design


The paper entitled “End-to-End Arguments in System Design” by J.H. Salter, D.P. Reed and D.D. Clark[1] proposes a design principle on how to properly place functions on the modules of a distributed computer system. Following the end-to-end principle and the emergence of data communication network as a component of a computer system, the paper argues that functions usually implemented at the low level modules can instead be implemented on high level modules to avoid redundancy and improve system performance. Specifically, functions referring to communication protocol operations must be defined to occur at the end points of a communication system. The paper also discusses certain examples (applications) to site advantages of using the end-to-end design. But of course, there are cases when functions can only be implemented on the low level especially when issues of efficiency and performance arise. So, the end-to-end arguments must not be treated as an absolute but as a guide on protocol design analysis. Finally, it stresses the importance of identifying the end points to which the said arguments must be applied.


The end-to-end principle is one of the central design principles which guided the design of the Internet. From the date of this design proposal which was in 1981 until the next 20 years, Internet's design was shaped by the end-to-end arguments. But due to the growth of Internet's commercial use and other specific purposes, there's an emerging risk of rethinking the Internet's original design principles. M.S. Blumenthal and D.D. Clark (one of the authors of the end-to-end arguments) [2], list some of the trends which can influence the requirements for the Internet. Among those mentioned are:

"..the growth of Internet Service Providers, government interests, changing motivations of the growing user base; and the tension between the demand for trustworthy overall operation and the inability to trust the behavior of individual users."


They conclude that risks for innovation is inevitable. At the end, they argue that the flexibility, openness and generality in the Internet caused by using the end-to-end arguments as a design principle must be preserved in any circumstances that might take place.

In this context, the importance of taking the end-to-end argument into consideration in communication protocol design were clearly stated. Examples are given to provide a more perceivable view of common functions often misplaced on a communication subsystem. Basing the design of the Internet on a simple concept allowed fast accommodation of new applications thus, fostering innovation. But how ever good the design principle is, it still has drawbacks along with it, as mentioned in the context. It is notable the authors do not always advocate that the end-to-end approach is the best since there maybe cases when functions implemented at low level modules is beneficial.

References:

[1] J.H. Saltzer,D.P. Reed and D.D. Clark. "End-to-End Arguments in System Design." ACM Transactions on Computer Systems, Vol. 2, No. 4, pp. 277-288, November 1984.

[2] D. Clark and M. S. Blumenthal: “Rethinking the design of the Internet: The end to end arguments vs. the brave new world”; Workshop on The Policy Implications of End-to-End, Dec. 2000



No comments:

Post a Comment