Year: 2011

Authors: JH Saltzer, DP Reed, DD Clark

Summary

Design principle that helps guide placement of functions among the modules of a distributed computer system: functions placed at low levels of a system may be redundant or of little value when compared with the cost of providing them at that low level. So I think the basic idea is anything placed in the intermediary notes cannot guarantee anything end to end, but may be of use for optimizations. Its usually used for reliability (e.g. caretaking)

Application to Other?

They argued that 2PC is also e2e because it doesn’t “assume anything”.

The authors stated that RISC only implement a very primitive set of tools and therefore leaves the application developer to implement the features, so this is compatible with e2e.

Note: I found this paper very confusing to read (perhaps because I’m coming from a database background), and overall I think the programming philosophies are moving more towards declarativity and not exposing low level bricks.