100 likes | 279 Views
END-TO-END ARGUMENTS IN SYSTEM DESIGN J.H. Salter, D.P. Reed and D.D. Clark. Presented by Sui-Yu Wang. Introduction. A design principle that helps guide placement of functions among the modules of a distributed computer system, the “end-to-end argument”
E N D
END-TO-END ARGUMENTS IN SYSTEM DESIGNJ.H. Salter, D.P. Reed and D.D. Clark Presented by Sui-Yu Wang
Introduction • A design principle that helps guide placement of functions among the modules of a distributed computer system, the “end-to-end argument” • Functions placed at low levels of a system may be redundant or of little value when compared with the cost of providing them at low level • Functions should be moved upward in a layered system
End-to-end Argument • The function in question can completely and correctly be implemented only with the knowledge and help of the application standing at the end points of the communication system.
Example: Care File Transfer • The file transfer program at host A calls the file system to read the file from the disk and make it disk-format independent • The file transfer program ask the data communication system to transfer the file using some protocol that needs to split the file into packets • The data communication network moves the packets from A to B • The data communication programs removes the packets from the data communication protocol and hands the data to the file transfer program at host B • The file transfer program ask the file system to write the received data on the disk of host B
Solutions • Brute force • End-to-end check and retry • Improve data transmission reliability
Performance Aspects • Unreliable communication makes the overall performance suffer • Over reliable communication eats up the bandwidth • The end-to-end check of the file transfer application must still be implemented no matter how reliable the communication system is
Other Example of the End-to-end arguments • Delivery guarantees • Secure transmission of data • Duplicate message suppression • Guaranteeing FIFO message delivery • Transaction management
Conclusion • The end-to-end argument is a guideline to help the application and protocol design