SlideShare ist ein Scribd-Unternehmen logo
1 von 20
END-TO-END ARGUMENTS IN
SYSTEM DESIGN
Presented by: Nadia Rashid Al-okka
College of Engineering
Computer Science and Engineering Department
CMPT 541 Advanced Computer Network
Spring 2013
Outline
 Introduction
 Problem definition
 End-to-end caretaking
 A too-real example
 Other examples of end-to-end argument
1. Delivery guarantees
2. Secure transmission of data
3. Duplicate message suppression
4. Guaranteeing FIFO message delivery
5. Transaction management
 Identifying the ends
 History and application to other system areas
 Discussion and Conclusion
 About the paper
Introduction
 Choosing the proper boundaries between functions is perhaps the primary activity
of the computer system designer.
 Design principles that provide guidance in this choice of function placement are
among the most important tools of a system designer.
 This paper discusses one class of function placement argument that has been used
for many years.
 It focuses on the communication network version of the argument.
Problem Definition
 This paper presents a design principle that helps guide placement of functions
among the modules of a distributed computer system.
 The principle, called the end-to-end argument, suggests that 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.
 In other words, the end-to-end principle states that application-specific functions
ought to reside in the end hosts of a network rather than in intermediary nodes –
provided they can be implemented "completely and correctly" in the end hosts.
End-to-End Caretaking- A careful file transfer
Data
communication
network
A careful designer might be concerned about…
 The file, though originally written correctly onto the disk at host A, if read now may contain
incorrect data, perhaps because of hardware faults in the disk storage system.
 A software mistake in buffering and copying the data of the file, either at host A or host B.
 A hardware transient error while doing the buffering and copying, either at host A or host B.
 The communication system might drop or change the bits in a packet, or lose a packet or deliver a
packet more than once.
 Either of the hosts may crash part way through the transaction after performing an unknown
amount (perhaps all) of the transaction.
A too-real example
 One network system involving several local networks connected by gateways used a packet checksum
on each hop from one gateway to the next, on the assumption that the primary threat to correct
communication was corruption of bits during transmission.
 Application programmers, aware of this checksum, assumed that the network was providing reliable
transmission, without realizing that the transmitted data was unprotected while stored in each
gateway.
 One gateway computer developed a transient error in which while copying data
 Over a period of time many of the source files of an operating system were repeatedly transferred
through the defective gateway. Some of these source files were corrupted by byte exchanges, and
their owners were forced to the ultimate end-to-end error check: manual comparison with and
correction from old listings.
Some Performance Aspects..
 A network that is somewhat unreliable, dropping one message of each hundred messages sent.
 The probability that all packets of a file arrive correctly decreases exponentially with the file
length.
 The expected time to transmit the file grows exponentially with file length.
 Clearly, some effort at the lower levels to improve network reliability can have a significant effect
on application performance
 “The end-to-end check of the file transfer application must still be implemented no matter how
reliable the communication system becomes”
 The usual technique for increasing packet reliability is some sort of per packet error check with
a retry protocol.
1. Other examples- Delivery guarantees
 Basically, taking about acknowledgment..
 Strategy 1: acknowledgement once it reaches the host by replying an
acknowledgment msg. Eg: APRANET-RFNM
 Not good enough since we are not sure that the data reaches the issuing request
application…. End-to-end ACK is required
 Strategy 2: Target host is sophisticated enough to accept delivery of data
and to be responsible of delivering it to the targeted application.
 Still need the end-to-end ACK, we may have a negative ACK.
 Discuss??
2. Other examples- Secure transmission of data
1. If the data transmission system performs encryption and decryption, it
must be trusted to manage securely the required encryption keys.
2. The data will be in the clear when it reaches the target application.
3. The authenticity of the message must still be checked by the application.
2. Secure transmission of data-Discussion
 If the application performs end-to-end encryption, data is never exposed
outside the application.
 No need for the communication automatic encryption all among the traffic
way.
 The automatic encryption of all data as it is put into the network is one
more firewall.
 Neither mechanisms can satisfy both requirements completely. Discuss!!
3. Other examples- Duplicate message suppression
 A message or a part of a message may be delivered twice, typically as a result of
time-out-triggered failure detection and retry mechanisms operating within the
network.
 The network can provide the function of watching for and suppressing any such
duplicate messages, or it can simply deliver them.
 Unfortunately, even if the network suppresses duplicates, the application itself may
accidentally originate duplicate requests, in its own failure/retry procedures.
 These application level duplications look like different messages to the
communication system, so it cannot suppress them; suppression must be
accomplished by the application itself with knowledge of how to detect its own
duplicates.
4. Other examples- Guaranteeing FIFO message delivery
 Ensuring that messages arrive at the receiver in the same order they are
sent is another function usually assigned to the communication subsystem.
 For the same virtual circuit, easy, but for independent virtual circuit!!
Discuss!!
 Distributed application!
 An independent mechanism at a higher level than the communication
subsystem must control the ordering of actions.
5. Other examples- Transaction management
 They have applied the end-to-end argument in the construction of the
SWALLOW distributed data storage system, where it leads to significant
reduction in overhead.
 SWALLOW provides data storage servers called repositories that can be used
remotely to store and retrieve data.
 The low-level message communication protocol is significantly simplified.
 The acknowledgement that the originator of a write request needs is that
the data was stored safely.
 No acknowledgments for read operations which gives better performance.
.
Identifying the ends
 Strong end-to-end arguments applied on packet voice connection?? Discuss!
 What if it was recorded message?? Person on the other hand can’t repeat
what he said  Discuss!!
History and application to other system areas
 Examples discussed are related in older papers
 End-to-end arguments are often applied to error control and correctness in
application systems.
 Banks and sensitive system may need to use the end-to-end argument more
seriously since the mistake costs MONEY!
 A version of the end-to-end argument in a non-communication application
was developed in the 1950's
Discussion and Conclusion
 Designer may be tempted to "help" the users by taking on more function than necessary
in the communication. Awareness of end-to-end arguments can help to reduce such
temptations.
 Looking for "layered" communication protocols, but without clearly defined criteria for
assigning functions to layers. Such layering is desirable to enhance modularity.
 End-to-end arguments may be viewed as part of a set of rational principles for organizing
such layered systems.
About the Paper…
 Paper Title: End-to-End Arguments in System Design
 Authors: J.H. Saltzer, D.P. Reed and D.D. Clark
 Published in: ACM Transactions in Computer Systems 2, 4, November, 1984
 Cited by more than 250 papers
 Old but it was the basic for the known end-to-end principles
 Language was clear and technical
 Organized but unusual ?
 History and background are presented at the end of the paper.
 References are mentioned in the History section
Summary
 Pushing application-specific functions as possible to the lower layers
 End-to-end arguments are the basics of many operating systems and
networking principles.
 End-to-end arguments may be viewed as part of a set of rational principles
for organizing such layered systems.
 Choosing when to make the connection reliable and not reliable is
important (such in live voice msg or recorded msg)

Weitere ähnliche Inhalte

Was ist angesagt?

remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure callsAshish Kumar
 
Locks In Disributed Systems
Locks In Disributed SystemsLocks In Disributed Systems
Locks In Disributed Systemsmridul mishra
 
process management
 process management process management
process managementAshish Kumar
 
Synopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant uptaSynopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant uptaPrashant Gupta
 
Multicore Processsors
Multicore ProcesssorsMulticore Processsors
Multicore ProcesssorsAveen Meena
 
CAP theorem and distributed systems
CAP theorem and distributed systemsCAP theorem and distributed systems
CAP theorem and distributed systemsKlika Tech, Inc
 
Data center architecture
Data center architecture Data center architecture
Data center architecture RajuPrasad33
 
UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)elliando dias
 
Building Event Driven Systems
Building Event Driven SystemsBuilding Event Driven Systems
Building Event Driven SystemsWSO2
 
Distributed Systems: scalability and high availability
Distributed Systems: scalability and high availabilityDistributed Systems: scalability and high availability
Distributed Systems: scalability and high availabilityRenato Lucindo
 
Cloud Security Standards: What to Expect and What to Negotiate V2.0
Cloud Security Standards: What to Expect and What to Negotiate V2.0Cloud Security Standards: What to Expect and What to Negotiate V2.0
Cloud Security Standards: What to Expect and What to Negotiate V2.0Cloud Standards Customer Council
 
Camunda BPM at Zalando: Order Processing at scale
Camunda BPM at Zalando: Order Processing at scaleCamunda BPM at Zalando: Order Processing at scale
Camunda BPM at Zalando: Order Processing at scalecamunda services GmbH
 
cloud computing, Principle and Paradigms: 1 introdution
cloud computing, Principle and Paradigms: 1 introdutioncloud computing, Principle and Paradigms: 1 introdution
cloud computing, Principle and Paradigms: 1 introdutionMajid Hajibaba
 
google file system
google file systemgoogle file system
google file systemdiptipan
 

Was ist angesagt? (20)

remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
 
Locks In Disributed Systems
Locks In Disributed SystemsLocks In Disributed Systems
Locks In Disributed Systems
 
process management
 process management process management
process management
 
Synopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant uptaSynopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant upta
 
Distributed file systems chapter 9
Distributed file systems chapter 9Distributed file systems chapter 9
Distributed file systems chapter 9
 
Multicore Processsors
Multicore ProcesssorsMulticore Processsors
Multicore Processsors
 
CAP theorem and distributed systems
CAP theorem and distributed systemsCAP theorem and distributed systems
CAP theorem and distributed systems
 
Data center architecture
Data center architecture Data center architecture
Data center architecture
 
UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)
 
Comet Cloud
Comet CloudComet Cloud
Comet Cloud
 
Cluster computing
Cluster computingCluster computing
Cluster computing
 
Datacenter overview
Datacenter overviewDatacenter overview
Datacenter overview
 
Building Event Driven Systems
Building Event Driven SystemsBuilding Event Driven Systems
Building Event Driven Systems
 
Distributed Systems: scalability and high availability
Distributed Systems: scalability and high availabilityDistributed Systems: scalability and high availability
Distributed Systems: scalability and high availability
 
Cloud Security Standards: What to Expect and What to Negotiate V2.0
Cloud Security Standards: What to Expect and What to Negotiate V2.0Cloud Security Standards: What to Expect and What to Negotiate V2.0
Cloud Security Standards: What to Expect and What to Negotiate V2.0
 
Camunda BPM at Zalando: Order Processing at scale
Camunda BPM at Zalando: Order Processing at scaleCamunda BPM at Zalando: Order Processing at scale
Camunda BPM at Zalando: Order Processing at scale
 
11. dfs
11. dfs11. dfs
11. dfs
 
cloud computing, Principle and Paradigms: 1 introdution
cloud computing, Principle and Paradigms: 1 introdutioncloud computing, Principle and Paradigms: 1 introdution
cloud computing, Principle and Paradigms: 1 introdution
 
Distributed shared memory ch 5
Distributed shared memory ch 5Distributed shared memory ch 5
Distributed shared memory ch 5
 
google file system
google file systemgoogle file system
google file system
 

Ähnlich wie End-to-End Design Principles

Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed ComputingAbhishek Jaisingh
 
Distributed system
Distributed systemDistributed system
Distributed systemchirag patil
 
Protecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropperProtecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropperShakas Technologies
 
Protecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropperProtecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropperShakas Technologies
 
PeerToPeerComputing (1)
PeerToPeerComputing (1)PeerToPeerComputing (1)
PeerToPeerComputing (1)MurtazaB
 
934 Ch1 Networks
934 Ch1  Networks934 Ch1  Networks
934 Ch1 Networkstechbed
 
System Structure for Dependable Software Systems
System Structure for Dependable Software SystemsSystem Structure for Dependable Software Systems
System Structure for Dependable Software SystemsVincenzo De Florio
 
Network standards
Network standardsNetwork standards
Network standardshspatalia
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.pptbalewayalew
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSKathirvel Ayyaswamy
 
Resist Dictionary Attacks Using Password Based Protocols For Authenticated Ke...
Resist Dictionary Attacks Using Password Based Protocols For Authenticated Ke...Resist Dictionary Attacks Using Password Based Protocols For Authenticated Ke...
Resist Dictionary Attacks Using Password Based Protocols For Authenticated Ke...IJERA Editor
 
Lecture 04 - Loose Coupling
Lecture 04 - Loose CouplingLecture 04 - Loose Coupling
Lecture 04 - Loose Couplingphanleson
 
Internetworking
InternetworkingInternetworking
InternetworkingRaghu nath
 

Ähnlich wie End-to-End Design Principles (20)

Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed Computing
 
Distributed system
Distributed systemDistributed system
Distributed system
 
Protecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropperProtecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropper
 
Protecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropperProtecting location privacy in sensor networks against a global eavesdropper
Protecting location privacy in sensor networks against a global eavesdropper
 
PeerToPeerComputing (1)
PeerToPeerComputing (1)PeerToPeerComputing (1)
PeerToPeerComputing (1)
 
934 Ch1 Networks
934 Ch1  Networks934 Ch1  Networks
934 Ch1 Networks
 
P43018691
P43018691P43018691
P43018691
 
System Structure for Dependable Software Systems
System Structure for Dependable Software SystemsSystem Structure for Dependable Software Systems
System Structure for Dependable Software Systems
 
Distributed Systems in Data Engineering
Distributed Systems in Data EngineeringDistributed Systems in Data Engineering
Distributed Systems in Data Engineering
 
Network standards
Network standardsNetwork standards
Network standards
 
Networks software
Networks softwareNetworks software
Networks software
 
OSI &TCP/IP Model
OSI &TCP/IP ModelOSI &TCP/IP Model
OSI &TCP/IP Model
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
OSI Model and TCP/IP Model.
OSI Model and TCP/IP Model.OSI Model and TCP/IP Model.
OSI Model and TCP/IP Model.
 
Resist Dictionary Attacks Using Password Based Protocols For Authenticated Ke...
Resist Dictionary Attacks Using Password Based Protocols For Authenticated Ke...Resist Dictionary Attacks Using Password Based Protocols For Authenticated Ke...
Resist Dictionary Attacks Using Password Based Protocols For Authenticated Ke...
 
Lesson 7
Lesson 7Lesson 7
Lesson 7
 
OSI Model
OSI ModelOSI Model
OSI Model
 
Lecture 04 - Loose Coupling
Lecture 04 - Loose CouplingLecture 04 - Loose Coupling
Lecture 04 - Loose Coupling
 
Internetworking
InternetworkingInternetworking
Internetworking
 

Kürzlich hochgeladen

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Kürzlich hochgeladen (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

End-to-End Design Principles

  • 1. END-TO-END ARGUMENTS IN SYSTEM DESIGN Presented by: Nadia Rashid Al-okka College of Engineering Computer Science and Engineering Department CMPT 541 Advanced Computer Network Spring 2013
  • 2. Outline  Introduction  Problem definition  End-to-end caretaking  A too-real example  Other examples of end-to-end argument 1. Delivery guarantees 2. Secure transmission of data 3. Duplicate message suppression 4. Guaranteeing FIFO message delivery 5. Transaction management  Identifying the ends  History and application to other system areas  Discussion and Conclusion  About the paper
  • 3. Introduction  Choosing the proper boundaries between functions is perhaps the primary activity of the computer system designer.  Design principles that provide guidance in this choice of function placement are among the most important tools of a system designer.  This paper discusses one class of function placement argument that has been used for many years.  It focuses on the communication network version of the argument.
  • 4. Problem Definition  This paper presents a design principle that helps guide placement of functions among the modules of a distributed computer system.  The principle, called the end-to-end argument, suggests that 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.  In other words, the end-to-end principle states that application-specific functions ought to reside in the end hosts of a network rather than in intermediary nodes – provided they can be implemented "completely and correctly" in the end hosts.
  • 5. End-to-End Caretaking- A careful file transfer Data communication network
  • 6. A careful designer might be concerned about…  The file, though originally written correctly onto the disk at host A, if read now may contain incorrect data, perhaps because of hardware faults in the disk storage system.  A software mistake in buffering and copying the data of the file, either at host A or host B.  A hardware transient error while doing the buffering and copying, either at host A or host B.  The communication system might drop or change the bits in a packet, or lose a packet or deliver a packet more than once.  Either of the hosts may crash part way through the transaction after performing an unknown amount (perhaps all) of the transaction.
  • 7. A too-real example  One network system involving several local networks connected by gateways used a packet checksum on each hop from one gateway to the next, on the assumption that the primary threat to correct communication was corruption of bits during transmission.  Application programmers, aware of this checksum, assumed that the network was providing reliable transmission, without realizing that the transmitted data was unprotected while stored in each gateway.  One gateway computer developed a transient error in which while copying data  Over a period of time many of the source files of an operating system were repeatedly transferred through the defective gateway. Some of these source files were corrupted by byte exchanges, and their owners were forced to the ultimate end-to-end error check: manual comparison with and correction from old listings.
  • 8. Some Performance Aspects..  A network that is somewhat unreliable, dropping one message of each hundred messages sent.  The probability that all packets of a file arrive correctly decreases exponentially with the file length.  The expected time to transmit the file grows exponentially with file length.  Clearly, some effort at the lower levels to improve network reliability can have a significant effect on application performance  “The end-to-end check of the file transfer application must still be implemented no matter how reliable the communication system becomes”  The usual technique for increasing packet reliability is some sort of per packet error check with a retry protocol.
  • 9. 1. Other examples- Delivery guarantees  Basically, taking about acknowledgment..  Strategy 1: acknowledgement once it reaches the host by replying an acknowledgment msg. Eg: APRANET-RFNM  Not good enough since we are not sure that the data reaches the issuing request application…. End-to-end ACK is required  Strategy 2: Target host is sophisticated enough to accept delivery of data and to be responsible of delivering it to the targeted application.  Still need the end-to-end ACK, we may have a negative ACK.  Discuss??
  • 10. 2. Other examples- Secure transmission of data 1. If the data transmission system performs encryption and decryption, it must be trusted to manage securely the required encryption keys. 2. The data will be in the clear when it reaches the target application. 3. The authenticity of the message must still be checked by the application.
  • 11. 2. Secure transmission of data-Discussion  If the application performs end-to-end encryption, data is never exposed outside the application.  No need for the communication automatic encryption all among the traffic way.  The automatic encryption of all data as it is put into the network is one more firewall.  Neither mechanisms can satisfy both requirements completely. Discuss!!
  • 12. 3. Other examples- Duplicate message suppression  A message or a part of a message may be delivered twice, typically as a result of time-out-triggered failure detection and retry mechanisms operating within the network.  The network can provide the function of watching for and suppressing any such duplicate messages, or it can simply deliver them.  Unfortunately, even if the network suppresses duplicates, the application itself may accidentally originate duplicate requests, in its own failure/retry procedures.  These application level duplications look like different messages to the communication system, so it cannot suppress them; suppression must be accomplished by the application itself with knowledge of how to detect its own duplicates.
  • 13. 4. Other examples- Guaranteeing FIFO message delivery  Ensuring that messages arrive at the receiver in the same order they are sent is another function usually assigned to the communication subsystem.  For the same virtual circuit, easy, but for independent virtual circuit!! Discuss!!  Distributed application!  An independent mechanism at a higher level than the communication subsystem must control the ordering of actions.
  • 14. 5. Other examples- Transaction management  They have applied the end-to-end argument in the construction of the SWALLOW distributed data storage system, where it leads to significant reduction in overhead.  SWALLOW provides data storage servers called repositories that can be used remotely to store and retrieve data.  The low-level message communication protocol is significantly simplified.  The acknowledgement that the originator of a write request needs is that the data was stored safely.  No acknowledgments for read operations which gives better performance. .
  • 15. Identifying the ends  Strong end-to-end arguments applied on packet voice connection?? Discuss!  What if it was recorded message?? Person on the other hand can’t repeat what he said  Discuss!!
  • 16. History and application to other system areas  Examples discussed are related in older papers  End-to-end arguments are often applied to error control and correctness in application systems.  Banks and sensitive system may need to use the end-to-end argument more seriously since the mistake costs MONEY!  A version of the end-to-end argument in a non-communication application was developed in the 1950's
  • 17. Discussion and Conclusion  Designer may be tempted to "help" the users by taking on more function than necessary in the communication. Awareness of end-to-end arguments can help to reduce such temptations.  Looking for "layered" communication protocols, but without clearly defined criteria for assigning functions to layers. Such layering is desirable to enhance modularity.  End-to-end arguments may be viewed as part of a set of rational principles for organizing such layered systems.
  • 18. About the Paper…  Paper Title: End-to-End Arguments in System Design  Authors: J.H. Saltzer, D.P. Reed and D.D. Clark  Published in: ACM Transactions in Computer Systems 2, 4, November, 1984  Cited by more than 250 papers  Old but it was the basic for the known end-to-end principles  Language was clear and technical  Organized but unusual ?  History and background are presented at the end of the paper.  References are mentioned in the History section
  • 19.
  • 20. Summary  Pushing application-specific functions as possible to the lower layers  End-to-end arguments are the basics of many operating systems and networking principles.  End-to-end arguments may be viewed as part of a set of rational principles for organizing such layered systems.  Choosing when to make the connection reliable and not reliable is important (such in live voice msg or recorded msg)