From: Daniel Lowd (lowd@cs.washington.edu)
Date: Wed Oct 13 2004 - 01:19:46 PDT
This paper discussed arguments for end-to-end system design, the
philosophy that applications should implement most of the functionality of
the network, since no implementation will be appropriate for all
applications. I liked how readable this paper was, and the examples
provided good perspective on why end-to-end design makes sense. I also
liked that it showed some of the limitations: certain commonly used
functions, such as some measure of reliability, may still be best placed
in the network. Instead of claiming that the network should do nothing,
it simply provided perspective by way of examples.
These strengths are also a weakness -- it provides no easy answers. In
fact, at times it's not even clear what point it's trying to make. Of
course system designers should think carefully about the systems they
design! A more powerful paper might have looked at specific failures and
how they might have been avoided, or controversial decisions that proved
successful in the long run, and tried to come up with some vague
generalizations. While some of this was done, it was via circuitous
exposition. If the authors truly wanted to impact and influence system
design, they might have done better to make strong claims and support them
well. The contents of this paper were good, but the structure and tone
were more along the lines of motherly advice than rebellious manifesto. I
also would have liked more discussion of layering, since that seems like a
sensible way to make some of these tradeoffs.
This paper continues to be relevant as the issues remain, not just for
networking but for system design in general. The RISC vs. CISC example
was particularly good. It also described how I feel using Windows vs.
Linux... Windows feels like it has more built-in support (e.g., it finds
my mouse without me typing "modprobe psmouse"). On the other hand, when I
want to do more customization or scripting, it's usually much easier in
Linux. Simply having the UNIX shell utilities available can make a world
of difference in simple tasks. This feels analogous to wrapping more
functionality into the network vs. leaving it at the end-points. Of
course, Windows and Linux both have APIs with a fair bit of power... but
the Linux user interface is more readily extended at the comand line,
given sufficient know-how and initiative.
-- Daniel
This archive was generated by hypermail 2.1.6 : Wed Oct 13 2004 - 01:19:47 PDT