End-to-End Argument in System Design
- Pages: 4
- Word count: 878
- Category: Design
A limited time offer! Get a custom sample essay written according to your requirements urgent 3h delivery guaranteedOrder Now
In our your submission you need to briefly summarize the main idea(s) and contribution(s) of the paper. In particular, your review needs to address the following: 1. Discuss the three most important things the paper advocates, 2. Discuss the most glaring problem(s) with the paper, and
3. The paper was written with the design of the original Internet in mind. Discuss what impact, if any, may the argument presented in this paper have on the design of next generation, multi-media, high-speed networks.
 David D. Clark Jerome H. Saltzer, David P. Reed. End-to-end arguments in system design. ACM Transactions on Computer Systems, pages 1–10, 1984.
“End-to-End Argument in System Design” provides the guidelines to the designer of the distributed computer system which help them to place different types of function in the design system. In communication system, the designer may be tempted to “help” the users by taking on more function than necessary. This argument will help to reduce such temptations.
Designer at that time are interested in the layer architecture. But this document enlighten the many points which shows that without defined criteria for the assign function with layer will improve the layering modularity.
In short end-to-end argument provides the guideline that helps in application and protocol design analysis.
Writer of this end-to-end argument provides various examples are the problem faced by the system designer over a years. Design principles which can provide the guidelines in the choice of function placement is the best tool for system designer. Writers of this paper collected the various problems faced over the years in the designing of the data communication system and tried to give guideline which could be helpful for the system designer while designing the system. Here they discussed various problem like bit error recovery, security using encryption, duplicate message suppression, recovery from system crashes, and delivery acknowledgement.
This paper is a presentation of the end-to-end argument in relation to system designs. In short, the end-to-end argument proposes that, “a function should not be provided in the lower level of the system unless it can be completely and correctly implemented at that level”. As per the author the function which are necessary must be implemented in the application rather than putting them in lower layer which leads to the possibility of error or of interfering with the requirements of the application. Low level function should be use to for the performance enhancement. The paper argues the pros and cons of this argument and provides examples of when implementing specific functions in the lower level of a system’s protocol graph might be more efficient than strictly adhering to the end-to-end argument. For example in the real time conversion over a network shows a strong need for implementing end-to-end argument. As in real time conversion voice packet could not stand against delay due to FIFO, storing and forwarding etc. , or error in link, duplication of packet etc.
Thus, despite the fact that the end-to-end argument does not favor low-level functions, they clearly show that in some situations low-level functions might be necessary. Authors of this argument says that , it is not a thumb rule to implement end-to-end argument in all situations rather than encourage its use as a guideline, but to leave the final decision to the discretion of the system designer. The end-to-end argument helped the internet to where it is today. End host who are using the internet not aware of the what network protocol is used to send their data over the internet. In terms of end-to-end argument application do not know what happen in the middle, and so need to provide themselves any guarantees. So reliability is ensure in the higher level for such application. TCP layer also follows the end-to-end argument
At the same time in certain form of services like VOIP, video Data Streaming application where the we need uninterrupted services, developers work and forces them to consider the specific demands they place on the network ( low layer ) and work to guarantee their own demands.
Problems with End-to-end argument paper :
1. Paper ignores QOS implementation in the lower layer can improve reliability of the internet services 2. Paper didn’t take account the complexity of application software when trying to implement the error recovery, duplication, packet loss problem, packet delay problem which can hammer the application basic requirement. 3. If packet loss or delay problem handled in the application layer then retransmission of bulk data demanded by the application and which lead to cause the inefficient or improper use of the network resources, and could be responsible for the network congestion if the many system demands the retransmission. end-to-end argument didn’t notify this problem. 4. End-to-end argument is consider only the possibility of the similar host system. Communication between the different types of the system . (Intersystem) didn’t consider
Overall, one should be careful when making design decisions as to where to implement several functions. It seems that there are always advantages and disadvantages in pushing a function higher or lower in a layer hierarchy. The final decision should not be a fixed design principle but rather a careful balance of the desired effect on the network.