SlideShare a Scribd company logo
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)

More Related Content

What's hot

Introdução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBIntrodução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDB
Jhonathan de Souza Soares
 
NS3 Overview
NS3 OverviewNS3 Overview
NS3 Overview
Rahul Hada
 
Cassandra Data Modelling
Cassandra Data ModellingCassandra Data Modelling
Cassandra Data Modelling
Knoldus Inc.
 
WSN NETWORK -MAC PROTOCOLS - Low Duty Cycle Protocols And Wakeup Concepts – ...
WSN NETWORK -MAC PROTOCOLS - Low Duty Cycle Protocols And Wakeup Concepts –  ...WSN NETWORK -MAC PROTOCOLS - Low Duty Cycle Protocols And Wakeup Concepts –  ...
WSN NETWORK -MAC PROTOCOLS - Low Duty Cycle Protocols And Wakeup Concepts – ...
ArunChokkalingam
 
Zone Routing Protocol
Zone Routing ProtocolZone Routing Protocol
Zone Routing Protocol
nitss007
 
Apache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek BerlinApache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek Berlin
Christian Johannsen
 
Distributed storage system
Distributed storage systemDistributed storage system
Distributed storage system
Công Lợi Dương
 
Security in distributed systems
Security in distributed systems Security in distributed systems
Security in distributed systems
Haitham Ahmed
 
Fisheye State Routing (FSR) - Protocol Overview
Fisheye State Routing (FSR) - Protocol OverviewFisheye State Routing (FSR) - Protocol Overview
Fisheye State Routing (FSR) - Protocol Overview
Yoav Francis
 
An Overview of Apache Cassandra
An Overview of Apache CassandraAn Overview of Apache Cassandra
An Overview of Apache Cassandra
DataStax
 
Architecture Challenges In Cloud Computing
Architecture Challenges In Cloud ComputingArchitecture Challenges In Cloud Computing
Architecture Challenges In Cloud Computing
IndicThreads
 
Congestion control
Congestion controlCongestion control
Congestion control
Noushad Hasan
 
Software Defined Network - SDN
Software Defined Network - SDNSoftware Defined Network - SDN
Software Defined Network - SDN
Venkata Naga Ravi
 
Reliable data transfer CN - prashant odhavani- 160920107003
Reliable data transfer   CN - prashant odhavani- 160920107003Reliable data transfer   CN - prashant odhavani- 160920107003
Reliable data transfer CN - prashant odhavani- 160920107003
Prashant odhavani
 
Overview of Message Queues
Overview of Message QueuesOverview of Message Queues
Overview of Message Queues
Bozhidar Bozhanov
 
The CAP Theorem
The CAP Theorem The CAP Theorem
The CAP Theorem
Aleksandar Bradic
 
Power Aware Routing in Adhoc Networks
Power Aware Routing in Adhoc NetworksPower Aware Routing in Adhoc Networks
Power Aware Routing in Adhoc Networks
Pradeep Kumar TS
 

What's hot (20)

Introdução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBIntrodução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDB
 
NS3 Overview
NS3 OverviewNS3 Overview
NS3 Overview
 
Cassandra Data Modelling
Cassandra Data ModellingCassandra Data Modelling
Cassandra Data Modelling
 
WSN NETWORK -MAC PROTOCOLS - Low Duty Cycle Protocols And Wakeup Concepts – ...
WSN NETWORK -MAC PROTOCOLS - Low Duty Cycle Protocols And Wakeup Concepts –  ...WSN NETWORK -MAC PROTOCOLS - Low Duty Cycle Protocols And Wakeup Concepts –  ...
WSN NETWORK -MAC PROTOCOLS - Low Duty Cycle Protocols And Wakeup Concepts – ...
 
Zone Routing Protocol
Zone Routing ProtocolZone Routing Protocol
Zone Routing Protocol
 
Apache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek BerlinApache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek Berlin
 
Distributed storage system
Distributed storage systemDistributed storage system
Distributed storage system
 
Security in distributed systems
Security in distributed systems Security in distributed systems
Security in distributed systems
 
Fisheye State Routing (FSR) - Protocol Overview
Fisheye State Routing (FSR) - Protocol OverviewFisheye State Routing (FSR) - Protocol Overview
Fisheye State Routing (FSR) - Protocol Overview
 
An Overview of Apache Cassandra
An Overview of Apache CassandraAn Overview of Apache Cassandra
An Overview of Apache Cassandra
 
Architecture Challenges In Cloud Computing
Architecture Challenges In Cloud ComputingArchitecture Challenges In Cloud Computing
Architecture Challenges In Cloud Computing
 
Lecture 1 ddbms
Lecture 1 ddbmsLecture 1 ddbms
Lecture 1 ddbms
 
Congestion control
Congestion controlCongestion control
Congestion control
 
Cachememory
CachememoryCachememory
Cachememory
 
Software Defined Network - SDN
Software Defined Network - SDNSoftware Defined Network - SDN
Software Defined Network - SDN
 
Reliable data transfer CN - prashant odhavani- 160920107003
Reliable data transfer   CN - prashant odhavani- 160920107003Reliable data transfer   CN - prashant odhavani- 160920107003
Reliable data transfer CN - prashant odhavani- 160920107003
 
Overview of Message Queues
Overview of Message QueuesOverview of Message Queues
Overview of Message Queues
 
The CAP Theorem
The CAP Theorem The CAP Theorem
The CAP Theorem
 
Power Aware Routing in Adhoc Networks
Power Aware Routing in Adhoc NetworksPower Aware Routing in Adhoc Networks
Power Aware Routing in Adhoc Networks
 
Cap Theorem
Cap TheoremCap Theorem
Cap Theorem
 

Similar to 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 Computing
Abhishek Jaisingh
 
Distributed system
Distributed systemDistributed system
Distributed system
chirag 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 eavesdropper
Shakas 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 eavesdropper
Shakas Technologies
 
PeerToPeerComputing (1)
PeerToPeerComputing (1)PeerToPeerComputing (1)
PeerToPeerComputing (1)MurtazaB
 
934 Ch1 Networks
934 Ch1  Networks934 Ch1  Networks
934 Ch1 Networkstechbed
 
P43018691
P43018691P43018691
P43018691
IJERA Editor
 
System Structure for Dependable Software Systems
System Structure for Dependable Software SystemsSystem Structure for Dependable Software Systems
System Structure for Dependable Software Systems
Vincenzo De Florio
 
Distributed Systems in Data Engineering
Distributed Systems in Data EngineeringDistributed Systems in Data Engineering
Distributed Systems in Data Engineering
Adetimehin Oluwasegun Matthew
 
Network standards
Network standardsNetwork standards
Network standards
hspatalia
 
Networks software
Networks softwareNetworks software
Networks software
Mukesh Chinta
 
OSI &TCP/IP Model
OSI &TCP/IP ModelOSI &TCP/IP Model
OSI &TCP/IP Model
Shamima Akther
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
balewayalew
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
OSI Model and TCP/IP Model.
OSI Model and TCP/IP Model.OSI Model and TCP/IP Model.
OSI Model and TCP/IP Model.
City University, Dhaka, Bangladesh
 
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
 
Lesson 7
Lesson 7Lesson 7
Lesson 7
Gicheru Onesmus
 
OSI Model
OSI ModelOSI Model
OSI Model
Rahul Marwaha
 
Lecture 04 - Loose Coupling
Lecture 04 - Loose CouplingLecture 04 - Loose Coupling
Lecture 04 - Loose Coupling
phanleson
 
Internetworking
InternetworkingInternetworking
InternetworkingRaghu nath
 

Similar to 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
 

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 

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)