The End To End Argument In Systems Design

  • Slides: 8
Download presentation
The End To End Argument In System’s Design “The End To End Argument In

The End To End Argument In System’s Design “The End To End Argument In System’s Design”, Zaltzer et. al, ACM Transactions on Computer Systems, Nov. 1984. Distributed Systems Distributed Algorithms – The End to End Argument p-1

Error Handling Ø Networks and Distributed systems are unreliable. Requests and replies can get

Error Handling Ø Networks and Distributed systems are unreliable. Requests and replies can get lost, delayed or duplicated. Senders and receivers can crash. Ø Many, but not all of these issues can be handled by the communication protocol stack. Ø But if a call fails then the caller will need (error/exception) code to handle such cases. Distributed Systems Distributed Algorithms – The End to End Argument p-2

The End to End Argument Ø Saltzer et. al. 1981/84 posited the following argument.

The End to End Argument Ø Saltzer et. al. 1981/84 posited the following argument. Ø The only true acknowledgment to the request for a file transfer is the reception of the complete file. Ø The application will have to include code to verify that the file was received correctly and to handle the cases where it is not. Ø Thus any attempts at increasing the reliability in the lower levels of the software can only be justified on the basis of increasing performance and not for correctness. Distributed Systems Distributed Algorithms – The End to End Argument p-3

Placing Functionality Ø “Functions placed at the low levels of a system may be

Placing Functionality Ø “Functions placed at the low levels of a system may be redundant or of little value when compared to the cost of providing them at that low level. . low level mechanisms are justified only as performance enhancements. ” Ø Distributed functions can be “…completely and correctly implemented only with the knowledge and help of the application standing at the endpoints of the communication system”. Distributed Systems Distributed Algorithms – The End to End Argument p-4

Problem Oriented Protocols Ø In general the end to end argument applies to where

Problem Oriented Protocols Ø In general the end to end argument applies to where is the correct place to put functionality in a (distributed) system. Ø Problem oriented communication protocols are ones designed with the argument in mind are tailored to the requirements and the operation environment of the problem at hand. Distributed Systems Distributed Algorithms – The End to End Argument p-5

Example FRAME RELAY Distributed Systems Distributed Algorithms – The End to End Argument p-6

Example FRAME RELAY Distributed Systems Distributed Algorithms – The End to End Argument p-6

FRAME RELAY Ø The data communications characteristics of the telephone network, and the processing

FRAME RELAY Ø The data communications characteristics of the telephone network, and the processing power of DTEs, have changed since X. 25 was specified. Ø Frame Relay takes this into account and provides a lightweight connection oriented, or “virtual leased line”, service at rates from 64 kbps to 2. 048 mbps (T 1/E 1). Ø Protocol handles framing, stuffing, virtual circuit multiplexing. Ø Performs error detection and congestion management. Ø Discards erroneous frames. Ø Users thus get a cheap, best effort, variable data rate connection. Distributed Systems Distributed Algorithms – The End to End Argument p-7

Stateless Servers Ø What are the different demands placed upon a communication protocol by

Stateless Servers Ø What are the different demands placed upon a communication protocol by Distributed Systems à A stateless server which uses idempotent operations only? à A server with state and non idempotent operations? Distributed Algorithms – The End to End Argument p-8