From: Rosalia Tungaraza (rltungar@u.washington.edu)
Date: Tue Oct 12 2004 - 23:57:36 PDT
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". 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.
One of the strengths of this paper is that the authors seem to present a
candid view backed up with some examples of why a system designer wishing
to optimize the use of the available networks must consider the type of
applications that are to be supported in the system before venturing on
implementing his/her system based on the end-to-end argument. For
instance, while some applications e.g. software for real-time
conversations over a network would need a strong implementation of the
end-to-end argument, a speech message system with voice packets stored in
a file for future use wouldn't (or shouldn't follow it because of the
possibility of bit loss at the lower level). 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.
I believe this paper, having been published in 1984, did shape the way
some system layers such as the contemporary TCP layer evolved. Up to a
certain extent, the TCP layer does follow the end-to-end argument though
it also gives room for some low-level functions in any given system. By
the same token, contemporary system designer may consider/apply this
argument for better system efficiency.
One drawback of this paper is that it fails to present the assumption that
the end-to-end argument makes on the relationship among different systems
(users) in any given network, namely they trust each other. Moving
critical functions for inter-network interactions to higher system levels
means greater vulnerability. Thus, one way of improving this is to include
such information. However, I do understand that in the 1980's, that was
not a big issue because the number of internet users were relatively small
compared to today and such scenarios were probably very uncommon.
This archive was generated by hypermail 2.1.6 : Tue Oct 12 2004 - 23:57:39 PDT