SlideShare une entreprise Scribd logo
1  sur  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)

Contenu connexe

Tendances

IPC (Inter-Process Communication) with Shared Memory
IPC (Inter-Process Communication) with Shared MemoryIPC (Inter-Process Communication) with Shared Memory
IPC (Inter-Process Communication) with Shared MemoryHEM DUTT
 
Load Balancing In Distributed Computing
Load Balancing In Distributed ComputingLoad Balancing In Distributed Computing
Load Balancing In Distributed ComputingRicha Singh
 
MEDIUM ACCESS CONTROL
MEDIUM ACCESS CONTROLMEDIUM ACCESS CONTROL
MEDIUM ACCESS CONTROLjunnubabu
 
4.file service architecture
4.file service architecture4.file service architecture
4.file service architectureAbDul ThaYyal
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system modelHarshad Umredkar
 
Mac protocols
Mac protocolsMac protocols
Mac protocolsjuno susi
 
Chapter 5 : Link Layer
Chapter 5 : Link LayerChapter 5 : Link Layer
Chapter 5 : Link LayerAmin Omi
 
Security of ad hoc networks
Security of ad hoc networksSecurity of ad hoc networks
Security of ad hoc networksJayesh Rane
 
Distributed shred memory architecture
Distributed shred memory architectureDistributed shred memory architecture
Distributed shred memory architectureMaulik Togadiya
 
Wireless routing protocols
Wireless routing protocolsWireless routing protocols
Wireless routing protocolsbarodia_1437
 
Limitations of memory system performance
Limitations of memory system performanceLimitations of memory system performance
Limitations of memory system performanceSyed Zaid Irshad
 

Tendances (20)

IPC (Inter-Process Communication) with Shared Memory
IPC (Inter-Process Communication) with Shared MemoryIPC (Inter-Process Communication) with Shared Memory
IPC (Inter-Process Communication) with Shared Memory
 
Peer to Peer services and File systems
Peer to Peer services and File systemsPeer to Peer services and File systems
Peer to Peer services and File systems
 
Load Balancing In Distributed Computing
Load Balancing In Distributed ComputingLoad Balancing In Distributed Computing
Load Balancing In Distributed Computing
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
 
MEDIUM ACCESS CONTROL
MEDIUM ACCESS CONTROLMEDIUM ACCESS CONTROL
MEDIUM ACCESS CONTROL
 
Hiperlan
HiperlanHiperlan
Hiperlan
 
message passing
 message passing message passing
message passing
 
4.file service architecture
4.file service architecture4.file service architecture
4.file service architecture
 
Ad hoc networks
Ad hoc networksAd hoc networks
Ad hoc networks
 
Mac layer
Mac  layerMac  layer
Mac layer
 
6.distributed shared memory
6.distributed shared memory6.distributed shared memory
6.distributed shared memory
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
 
Mac protocols
Mac protocolsMac protocols
Mac protocols
 
Chapter 5 : Link Layer
Chapter 5 : Link LayerChapter 5 : Link Layer
Chapter 5 : Link Layer
 
Security of ad hoc networks
Security of ad hoc networksSecurity of ad hoc networks
Security of ad hoc networks
 
Distributed shred memory architecture
Distributed shred memory architectureDistributed shred memory architecture
Distributed shred memory architecture
 
Wireless routing protocols
Wireless routing protocolsWireless routing protocols
Wireless routing protocols
 
Limitations of memory system performance
Limitations of memory system performanceLimitations of memory system performance
Limitations of memory system performance
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
 
11. dfs
11. dfs11. dfs
11. dfs
 

Similaire à End to-end arguments in system design

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
 

Similaire à End to-end arguments in system design (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
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Dernier (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

End to-end arguments in system design

  • 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)