Review #4: End to end arguments in system design

From: Rosalia Tungaraza (rltungar@u.washington.edu)
Date: Tue Oct 12 2004 - 23:57:36 PDT

  • Next message: Ethan Katz-Bassett: "Review of "End-to-End Arguments in System Design""

    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.


  • Next message: Ethan Katz-Bassett: "Review of "End-to-End Arguments in System Design""

    This archive was generated by hypermail 2.1.6 : Tue Oct 12 2004 - 23:57:39 PDT