![Page 2: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/2.jpg)
About me• Lecturer in Department of Computer Science• Research Unit: Distributed Systems and
semantics• CISS: Center of Embedded Software Systems• Research
– Distributed programming (Linda w. multiple tuplespaces)
– Distributed Multi-media– Real-Time Operating Systems– Automated testing of embedded, real-time, distributed
systems
![Page 3: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/3.jpg)
About You
• Dat-3• F7S• SSE-1 / KDE-1• Guests • ⇒ Different background and expectations
![Page 4: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/4.jpg)
Teaching Assistants
• Jacob Illum– PhD student in DSS– [email protected]
• Ulrik Nyman - fridays– PhD student in DSS– [email protected]
![Page 5: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/5.jpg)
Study RegulationsPurpose: That the student obtains knowledge about concepts in distributed systems, knowledge about their construction, and an understanding of advantages and disadvantages of their use.
Contents:
•Structure of distributed systems.
•Distributed algorithms.
•Distributed and parallel programming.
•Fault tolerance.
•Examples of one or more distributed systems.
![Page 6: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/6.jpg)
Course Form• 1 lecture = 1 mini-module = 6 hrs
– 2*45 min of lectures– 1.5 hrs of exercises with TAs in groups– 1.5 hrs of reading homework– 0.5 hrs of exam-preparation
• 1 big study assignment subject to examination
• PE: exam part of project-exam• SE: Pass/Fail verdict
![Page 7: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/7.jpg)
Text Book• Coulouris, Dollimore and
Kindberg• Distributed Systems:
Concepts and Design• Edition 4
• www.cdk4.net
![Page 8: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/8.jpg)
Pre-requisites• Programming
– Practical programming in e.g. Java, C, C++ – Basic data-structures and algorithms– Preferably also concurrent programming
• Networks– OSI-model, IP-addressing, IP-routing, message enveloping,
TCP/UDP, Sliding-window, congestion and flow control, socket-programming, basic encryption technology
– Else read chapter 3• Operating Systems
– Processes, threads, concurrency, non-determinism, kernel and user level, synchronization (semaphores, monitors), address spaces, virtual memory, file-systems
– Else read chapter 6
![Page 9: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/9.jpg)
Today’s Agenda
• Course Introduction• Examples of distributed systems.• Definition• Characteristics & Challenges in the
development of distributed systems.• Models of distributed computation and
systems.
![Page 10: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/10.jpg)
A typical intranet
the rest of
email server
Web server
Desktopcomputers
File server
router/firewall
print and other servers
other servers
Local areanetwork
email server
the Internet
![Page 11: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/11.jpg)
Intranets• A portion of the Internet that
– is separately administered– usually proprietary– provides internal and external services– can be configured to enforce local security policies
• may use a firewall to prevent unauthorized messages leaving or entering
– may be connected to the internet via a router• Services:
– File, print services, backup, program-sharing, user-, system-administration, internet access
![Page 12: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/12.jpg)
intranet
ISP
desktop computer:
backbone
satellite link
server:network link:
A typical portion of the Internet
![Page 13: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/13.jpg)
Internet– Vast interconnected collection of networks– Heterogeneous network of computers and
applications– Interaction via message passing for a
common means of communication– Users in different physical locations– The set of services is open-ended
• Email, ftp, instant messaging, IP-telephony, CSCW, WWW, …
– Communication and information exchange
![Page 14: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/14.jpg)
Web servers and web browsers
Internet
BrowsersWeb servers
www.google.com
www.cdk3.net
www.w3c.org
Protocols
Activity.html
http://www.w3c.org/Protocols/Activity.html
http://www.google.comlsearch?q=kindberg
http://www.cdk3.net/
File system ofwww.w3c.org
URL=Uniform Resource Locator Protocol:protocol-specific-identifier
http url: http://servername[:port][/pathname][?query][#fragment]
![Page 15: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/15.jpg)
Web-Services
![Page 16: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/16.jpg)
Mobile Computing
![Page 17: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/17.jpg)
Wearable Computing &Personal Area Networks
![Page 18: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/18.jpg)
Mobile and ubiquitous computing
• Mobile computing• continuous service is available to the internet, company
intranets• ex. Cell phone can access simple information
• Ubiquitous computing– computing devices will become so pervasive they
will not be noticeable• wearables, PDAs, digital cameras• Interaction with users physical environment
• Issues• discovery of resources, eliminating reconfiguration of
devices from movement, coping with limited connectivity, privacy and security, location awareness
![Page 19: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/19.jpg)
Automotive Control
•80+ ECU’s interconnected in controller area networks•Vehicle dynamics (engine, brake, gear control,…)•Instrumentation control (lights, indicators, windows,…)•System Integration•Information and entertainment systems•Drive-by-wire
![Page 20: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/20.jpg)
Sensor-networks
![Page 21: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/21.jpg)
Distributed Computing• Speed up huge computations by using multiple
computers• NOWs (network of workstations) / cluster
computing• Dedicated computers• seti@home: project to scan data retrieved by a
radio telescope to search for radio signals from another world; and the Grid Computing: www.grid.org (using over 2.5m CPUs world-wide – source 2004)
![Page 22: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/22.jpg)
Cray T3E
![Page 23: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/23.jpg)
Mission-critical applications• Embedded systems, automotive, avionics• Control Systems• Banking, stock markets, stock brokerages• Health care, hospital automation• Control of power plants, electric grid• Telecommunications infrastructure• Electronic commerce and electronic cash on the Web
(very important emerging area)• Corporate “information” base: a company’s memory of
decisions, technologies, strategy• Military command, control, intelligence systems• …
![Page 24: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/24.jpg)
Definition
• A distributed system is the one in which hardware and software components at networked computers communicate and coordinate their activity only by passing messages.
• Examples: Internet, intranet and mobile computing systems.
![Page 25: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/25.jpg)
Consequences• Concurrent execution of processes
– Users work independently & share resources– non-determinism, race-conditions, synchronization, deadlock,
liveness, …• No global clock
– Coordination is done by message exchange– There are limits to the accuracy with which computers in a network
can synchronize their clocks• No global state
– Generally, there is no single process in the distributed system that would have a knowledge of the current global state of the system
• Units may fail independently.– Network faults can result in the isolation of computers that continue
executing– A system failure or crash might not be immediately known to other
systems
![Page 26: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/26.jpg)
Shared Memory Multi-Processor
processor
cache
processor
cache
processor
cache
Main memory
System bus
i/o subsystem
NOT a
distributed system!
![Page 27: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/27.jpg)
Why a Distributed System?• Functional distribution
– computers have different functional capabilities yet may need to share resources
• Client / server• Data gathering / data processing
• Inherent distribution in application domain• physically or across administrative domains• cash register and inventory systems for supermarket chains• computer supported collaborative work
• Economics – collections of microprocessors offer a better price/
performance ratio than large mainframes
![Page 28: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/28.jpg)
Why a Distributed System?
• Load balancing– assign tasks to processors such that the
overall system performance is optimized• Replication of processing power
– independent processors working on the same task
• Increased Reliability – Exploit independent failures property and– Redundancy
![Page 29: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/29.jpg)
Challenges
• Heterogeneity• Openness• Security• Scalability• Fault handling• Concurrency• Transparency
![Page 30: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/30.jpg)
Fault handling• In distributed systems, some
components fail while others continue executing
• How do we:– Detect faults?– Mask fault?– Tolerate faults?– Recover from faults?
• messages can be retransmitted• data can be written to multiple disks to minimize the chance
of corruption• Data can be recovered when computation is “rolled back”• Redundant components or computations tolerate failure
![Page 31: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/31.jpg)
Ex: Domain Name Service
• Database that maps host names to IP-addresses and vice versa
• homer.cs.aau.dk =130.225.194.13
root
dk com gov mil org net uk fr
aau mit
cs ece
homer
etc.
owlnet
![Page 32: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/32.jpg)
DNS: History• Initially all host-addess mappings were in a file
called hosts.txt (in /etc/hosts)– Changes were submitted to SRI by email– New versions of hosts.txt ftp’d periodically from SRI– An administrator could pick names at their discretion– Any name is allowed: eugenesdesktopatrice
• As the internet grew this system broke down because:– SRI couldn’t handled the load– Hard to enforce uniqueness of names– Many hosts had inaccurate copies of hosts.txt
• Domain Name System (DNS) was born
![Page 33: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/33.jpg)
DNS resource records
Record type Meaning Main contentsA A computer address IP numberNS An authoritative name server Domain name for serverCNAME The canonical name for an alias Domain name for aliasSOA Marks the start of data for a zone Parameters governing the zoneWKS A well-known service description List of service names and protocolsPTR Domain name pointer (reverse
lookups)Domain name
HINFO Host information Machine architecture and operatingsystem
MX Mail exchange List of <preference, host> pairsTXT Text string Arbitrary text
![Page 34: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/34.jpg)
DNS zone data recordsdomain name time to live class type value
1D IN NS dns01D IN NS dns11D IN NS cancer.ucs.ed.ac.uk1D IN MX 1 mail1.qmul.ac.uk1D IN MX 2 mail2.qmul.ac.uk
domain name time to live class type value
www 1D IN CNAME apricotapricot 1D IN A 138.37.88.248
dcs 1D IN NS dns0.dcsdns0.dcs 1D IN A 138.37.88.249dcs 1D IN NS dns1.dcsdns1.dcs 1D IN A 138.37.94.248dcs 1D IN NS cancer.ucs.ed.ac.uk
![Page 35: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/35.jpg)
DNS: Root Name Servers
• Contacted by local name server that can not resolve name
• Root name server:– Contacts authoritative
name server if name mapping not known
– Gets mapping– Returns mapping to
local name server• ~ Dozen root name
servers worldwide
![Page 36: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/36.jpg)
Example of Recursive DNS Query
Local name server• Caches most recently
translated namesRoot name server:• May not know
authoritative name server
• May know intermediate name server: who to contact to find authoritative name server?
Recursive query:• Puts burden of name
resolution on contacted name server
• Heavy load?
requesting hosthomer.cs.aau.dk
www.google.com
root name server
local name serverdns.cs.aau.dk
1
23
4 5
6
authoritative name serverns1.google.com
intermediate name server(com server)
7
8
![Page 37: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/37.jpg)
Example of Iterated DNS QueryIterated query
Contacted server replies with name of server to contact
• “I don’t know this name, but ask this server”(delegation):
This is how today’s DNS system behaves
requesting hosthomer.cs.aau.dk
www.google.com
root name server
local name serverdns.cs.aau.dk
1
2
34
67
authoritative name serverns1.google.com
intermediate name server(com server)
5
8
iterated query
![Page 38: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/38.jpg)
DNS fault-handling
• Configure client with multiple (local) DNS servers– Primary, secondary, …– Timeout and retry
• Several root name servers• Replicate Authoritative and Intermediate
name servers
![Page 39: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/39.jpg)
DNS-spoofing
• Until the TTL expires, 172.133.44.44 serves netbank.dk
local name serverdns.cs.aau.dk
remote name serverns1.bank.dk
Query: (A, netbank.bank.dk)
Response: (A, netbank.bank.dk 216.239.37.99)
Quick Response: (A, netbank.bank.dk,172.133.44.44)
Attacker172.133.44.44
![Page 40: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/40.jpg)
Cache Poisoning Attack
• Until the TTL expires, queries to dns.cs.aau.dk for ebay.com’s nameserverwill return the poison entry from the cache
local name serverdns.cs.aau.dk
remote name serverns1.google.com
Query: (A, google.com)
Response: (A, google.com, 216.239.37.99)
Additional Response: (NS, ebay.com, 172.133.44.44)
Attacker172.133.44.44
![Page 41: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/41.jpg)
Models
ArchitecturalFundamental / Semantic
![Page 42: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/42.jpg)
Architectural models
• Software layers• System architecture
![Page 43: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/43.jpg)
•Session Layer: Dialog controller
•Establish•Maintain•Synchronize•Terminate
Presentation layer: handles syntax and semantics
•Data translation•Encryption/decryption•Compression/expansion
OSI-model•Open Systems Interconnection model (ISO standard)
![Page 44: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/44.jpg)
Service layers
Applications, services
Computer and network hardware
Platform
Operating system
Middleware
![Page 45: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/45.jpg)
Middleware• Software layer (library of functions) that
simplifies programming– Masks heterogeneity– Provides a convenient programming model
• Objects/ processes• Communication primitives• Synchronization• Group and multicasting• Naming and Localization services• Event notification
– Corba, JavaRMI, DCOM, MPI, ISIS,…
![Page 46: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/46.jpg)
Clients invoke individual servers
Server
Client
Client
invocation
result
Serverinvocation
result
Process:Key:
Computer:
Variations:•thin / thick / smart (dynamic) clients•multiple server services•multi-tier systems
![Page 47: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/47.jpg)
A distributed application based on peer processes
Application
Application
Application
Peer 1
Peer 2
Peer 3
Peers 5 .... N
Sharableobjects
Application
Peer 4
![Page 48: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/48.jpg)
Client Server vs P2PClient-Server• Most widely used
model• Functional
specialization• Asymmetrical• Tends to be
Centralized• Tends to scale poorly
P2P• Symmetrical,
computers have same capabilities
• Truly Distributed• Share / exploit
resources at a large number of participants
![Page 49: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/49.jpg)
Fundamental Models
Design and solutions depend on fundamental assumptions on
– Process Interaction– Failures– Security threats
![Page 50: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/50.jpg)
Interaction Model• Process:
– executing program with private state– sending and receiving messages
• Distributed Algorithms:– A definition of the steps to be taken by each of the processes of
which the system is composed, especially the messages transmitted between them
• Communication Performance is a limiting characteristic– Latency, bandwidth, Jitter
• It is impossible to maintain a single notion of time– Computer clocks have drift– GPS: 1 micro Sec– Message Passing (eg.NTP) 10-100ms
![Page 51: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/51.jpg)
Asynchronous systems
No known bounds for:• The execution speed of a process• Message delay on the network• Clock drift
![Page 52: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/52.jpg)
(Partly) Synchronous systems
• Known upper and lower bound for each process step
• Known upper bound for the time it task for a message to be received
• Known upper bound for clock drift
![Page 53: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/53.jpg)
Order of eventssend
receive
send
receive
m1 m2
2
1
3
4X
Y
Z
Physical time
Am3
receive receive
send
receive receive receivet1 t2 t3
receive
receivem2
m1
MeetingX24
Re: meetingY25
Re:meetingZ23
SubjectFromItem
User A’s Inbox
![Page 54: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/54.jpg)
Failure Model
• The algorithm might need to tolerate failures– processes
• might stop / crash• degrade gracefully• exhibit Byzantine failures
– may also be failures of • communication mechanisms
![Page 55: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/55.jpg)
Omission and arbitrary failures
Class of failure Affects DescriptionFail-stop Process Process halts and remains halted. Other processes
may detect this state.Crash Process Process halts and remains halted. Other processes
may not be able to detect this state.Omission Channel A message inserted in an outgoing message buffer
never arrives at the other end’s incoming message buffer.
Send-omission Process A process completes a send but the message is not put in its outgoing message buffer.
Receive-omission
Process A message is put in a process’s incoming messagebuffer, but that process does not receive it.
Arbitrary(Byzantine)
Process orchannel
Process/channel exhibits arbitrary behaviour: it maysend/transmit arbitrary messages at arbitrary times,commit omissions; a process may stop or take anincorrect step.
![Page 56: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/56.jpg)
Timing failures
Class of Failure Affects DescriptionClock Process Process’s local clock exceeds the bounds
on its rate of drift from real time.Performance Process Process exceeds the bounds on the interval
between two steps.Performance Channel A message’s transmission takes longer than
the stated bound.
![Page 57: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/57.jpg)
Security model
• Protection of objects• Securing processes and their interaction
– Goals• Secrecy, integrity, authentication, authorization,..
– Attacks • man-in-the-middle, eaves-dropping, play-back, …
![Page 58: Introduction to Distributed Systemspeople.cs.aau.dk/~bnielsen/DS-E06/material/intro.pdf · construction, and an understanding of advantages and disadvantages of their use. ... •](https://reader031.vdocuments.site/reader031/viewer/2022022005/5abbbfbc7f8b9a24028cf738/html5/thumbnails/58.jpg)
END