End-to-End Column (12/02)

End-to-End
By: Jay Moran

Welcome to the inaugural issue of the {NEWSLETTER NAME} Newsletter and my column, End-to-End! Each month I plan on discussing various considerations in end-to-end solution design within Internal Computing. Taking a holistic view of the solutions that IC delivers is vital in order to make sure that our customers are satisfied and productive.

The column title actually came from a paper entitled, �End-to-End Arguments in System Design� by Saltzer, Reed, and Clark. Though written in 1981 the paper still brings very valid points to all of our jobs in designing, implementing, and operating technology components. I highly recommend searching for the document on the Internet and reviewing it.

Daily we all make decisions regarding our specialties. Our specialties however are rarely the complete end-to-end solution that will be used. The basis of the Saltzer, et al. paper is the fact that certain functions are best served at different levels of an end-to-end solution. Carefully considering the overall intent of the solution and only then making a decision on how and where to meet a specific need can prevent duplication of effort, poor overall performance, or complete failure.

There are several examples within the paper on the lack of an end-to-end solution. One historical example was in regards to the implementation of a file transfer system at MIT. The application programmers were aware that the communication network had checksums built-in. Without fully engaging and understanding the nature of the reliability a decision was made to forgo any error checksums of transfers within the application itself. Perhaps with further investigation the application designers would have learned that the reliability was simply between each link of the gateways; datagram integrity was not verified while in the memory of a gateway. A transient error showed up in the gateways in which a byte pair was swapped once about every million bytes. Eventually file corruption was spread from the error.

While each of us has our specialty we must still make the effort to understand how our components fit within the end-to-end solution. Not only does the end-to-end methodology apply to separate component technologies, it also applies to the functions we each perform in designing, implementing, and operating the IC solution set. I look forward to exploring the different aspects of end-to-end computing as well as the principles upon which the IC solutions should be based on in future columns.