![Page 1: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/1.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Distributed SystemsCorso di Laurea Specialistica in Ingegneria Informatica
AA 2006/2007
Introduction
Prof. Roberto Baldoni
Ing. Alessia Milani
Ing. Leonardo Querzoni
Ing. Silvia Bonomi
www.dis.uniroma1.it/~midlab
![Page 2: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/2.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
A definition
• A distributed system is a set of spatially separate entities, each of these with a certain computational power that are able to communicate and to coordinate among themselves for reaching a common goal
![Page 3: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/3.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Primary Goal: sharing data/resources
Problems• Synchronization• Coordination
![Page 4: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/4.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Coordination has to be implemented taking into account the following conditions that deviates from centralized systems:
1. Temporal and spatial concurrency2. No global Clock3. Failures4. Unpredictable latencies
These limitations restrict, for example, the set of coordination problems we can be solve in a distributed setting
![Page 5: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/5.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Distributed Systems Examplesin
tern
et
intr
anet
sist
ema
mob
ile But also.....Service Oriented ArchitecturesOverlay NetworksGridP2PPervasive Systems&Ubiquitous Computing
![Page 6: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/6.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Pervasive Systems
Internet everywhereOne-persons Many computersMobility……….. How can I keep consistent my mailbox???
![Page 7: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/7.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Characteristics..and Challenges
• Heterogeneity• Openess• Security• Scalability• Fault Tolerance• Concurrency• Transparency
![Page 8: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/8.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Heterogeneity
• Networks• Hardware• Operating Systems• Programming Languages• Implementations from different Developers
Soluzioni• Middleware (from RPC to Service oriented Architectures)• Mobile code and Virtual Machine
![Page 9: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/9.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Openess
• Capability of a system to be extended and re-implemented• Necessary condition, set of documents with software interfaces
• Interface Definition Language (it describes the syntax and the semantic of a service/component, available functions/services, input parameters, exceptions, etc)
• Problem: semantic description of a service.
• A specification of a service/componet is well-formed if it is : – Complete. A specification is complete if everything related to the
implementation has been specified. If something has not been specified, the designer needs to add implementation dependent details.
– Neutral. A specification is neutral is it does not offer any detail on a possible implementation
![Page 10: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/10.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Openess (ii)
• Interoperability. The capability of two systems to cooperate by using services/components specified by a common standard
• Portability. The capability if a service/component implemented on a distributed system A to work on a system B without doing any modification
• Flexibility. The capacity of a system to configure/ orchestrate components developed by various programmers
• Add-on Features. The capacity of a distributed system of adding components/services and be integrating in a running system
![Page 11: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/11.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Openess (iii)
• Other recent capabilities:– Evolvability. The capacity of a system to evolve in time for example leaving active two different version of the same service. – Self-* (self organization, self management, self healing etc). The capacity of a system to reconfigure, to manage itself without uman
intervention
• The number of independent software developers make very complex the development of a distributed platform
• Examples:– RFC for internet– JBoss for J2EE platform
![Page 12: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/12.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Security
• Confidenziality (protection against the interception of data from unauthorized users)
• Integrity (protection against data alteration)
• Availability (protection against the interference in the access to a resource)
![Page 13: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/13.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Scalability
• A system is scalable if it remains running with adequate performance even if the number of “users” grow up of orders of magnitude
• Centralization is against scalability :– Service (single service for all users)– Data (single data structure for all processes)
Date Computers Web servers
1979, Dec. 188 0
1989, July 130,000 0
1999, July 56,218,000 5,560,866
Computers connected to the internet
![Page 14: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/14.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Scalability (ii)• It becomes necessary using:
– Service Replication• Coordination Problems
– Data Replication• Consistency Problems
– Distributed Algorithms• No node has the current state of the whole system• Nodes base their decisions on data they own• A failure of a node should not compromize the goal of the algorithm
• Geographical Scalability
![Page 15: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/15.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Internet-scale Applications
Enterprise Data Centers
Scalable Consistency-based Applications
First Open Workshop Budapest 21-3-2007
What is a large-scale distributed system?
Cooperative Information Systems
Scalable QoS based Applications
eGov eGov enveloenvelo
pp
![Page 16: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/16.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Failure Management
• Failure detection– Example: Checksum detects a corrupted packet
• Failure masking– Example: message retransmission
• Tolerating Failures– Example: intrusion tolerant systems
• Failure Recovery– Example: completing long running computation
• Redoundancy– Example: DNS
![Page 17: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/17.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Concurrency
• Multiple access to shared resources– If clients invokes concurrently read and write methods on a shared
variable– Which value returns each read?
• Coordination • Synchronization
![Page 18: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/18.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Transparency
• Access: allow to access remote and local resources with the same operations• Location: allows to access resources without knowing their physical location• Concurrency: allows a set of processes to run concurrently on shared resources
without interfering among themselves • Failures: allow to mask failures in order that users can complete remaining requested
operations • • Mobility: allows to move resources and users without influencing operation issued by
users• Performance: allow system reconfiguration changing the load
• Performance of a solution based on a distributed system not always improve with respect to a solution based on a centralized system.
![Page 19: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/19.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Layering hw and sw
![Page 20: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/20.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Interaction Models
client/server peer-to-peer
![Page 21: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/21.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Interaction Models
• Interaction models impact on scalability, availability, cost, security performances
• Eg. client/server with replicated services:
availability, scalability
performance: replication imposes an extra work for maintaining consistency despite replica crashes
![Page 22: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/22.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Web proxy server
Client
Proxy
Web
server
Web
server
serverClient
![Page 23: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/23.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Web applets
a) client request results in the downloading of applet code
Web server
ClientWeb serverApplet
Applet code
Client
b) client interacts with the applet
![Page 24: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/24.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Thin clients and compute servers
ThinClient
ApplicationProcess
Network computer or PCCompute server
network
![Page 25: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/25.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Spontaneous networking in a hotel
Internet
gateway
PDA
service
Music service
serviceDiscovery
Alarm
Camera
Guestsdevices
LaptopTV/PC
Hotel wirelessnetwork
![Page 26: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/26.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Real-time ordering of events
send
receive
send
receive
m1 m2
2
1
3
4X
Y
Z
Physical time
Am3
receive receive
send
receive receive receivet1 t2 t3
receive
receive
m2
m1
![Page 27: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/27.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Processes and channels
process p process q
Communication channel
send
Outgoing message buffer Incoming message buffer
receivem
![Page 28: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi](https://reader036.vdocuments.site/reader036/viewer/2022081419/56814521550346895db1e328/html5/thumbnails/28.jpg)
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
Middleware: problems to face
• Heterogeneity: OS, clock speeds, data representation, memory, architecture HW
• Local Asynchrony: load on a noad, diffeent OW, Interrupts • Lack of global knowledge: knowledge propagates through messages whose
messages whose propagation times will be much slower than time taken by the execution of an internal event
• Network Asyncrony: propagation times of message can be unpredictable.
• Failures of nodes or network partitions.
• Lack of a global order of events
This limits the set of problems that can be solved through deterministic algorithms on some distributed systems