02-11-2012, 12:50 PM
Distributed system models
Distributed system.pdf (Size: 131.7 KB / Downloads: 23)
• Architectural models:
– Placements of parts
– Relationship between parts
• Examples
– Client /server
– Peer-to-peer model
– Proxy server
• Architectural models (definition):
ı The way in which the components of systems interact with one
another and the way in which they are mapped onto an underlying
network of computers
• Fundamental models:
– Formal description of system properties common in all architectural
models
– reliability, security, performance
Architectural models
• Architecture:
– Structure of separately specified components
• Over all goal:
– Structure should meet the present and future
requirements on
• Reliability
• Manageability
• Adaptability
• Cost-effectiveness
• Functions of individual components are not
important:
– Abstract way
• Consider instead:
– Placement (across network)
• Pattern for data
• Work load distribution
– Interrelationships
• Functional roles
• Communication pattern
Service Layers: Middleware
• Middleware services
– Naming
– Security
– Transactions
– Persistent storage
– Event notification
• Limitations
– Many distributed applications rely entirely on the services provided by
the available middleware to support their needs for communication &
data sharing
• TCP reliable for packets (basic error correction and detection)
• Mail transfer service increase fault tolerance (maintain record of
progress)
• Some functions can only be correctly implemented with the help of
application level information
– The end-to-end argument e.g. reliable file transfer (Saltzer)
– Correct behaviour in distributed programs depends upon checks at various
levels
System Architectures: Multiple Servers Model
• Services may be provided by multiple servers
• Partitioned or replicated service-related
objects
• Replication provides
– Increased performance
– Increased availability
– Increased fault-tolerance
• But requires replica coordination / consistency
preservation
System Architectures: Peer-to-Peer Model
• Peer processes: processes that play similar roles
– No absolute distinction between client/server
– May still assume client/server roles from time to time
– Peer processes maintain the synchronization & consistency of
resources and actions
• White board
– Viewing, editing a picture
• Elimination of server processes reduces interprocess
communication delay for local object
access
• Increased fault-tolerance and scalability
• Coordination difficult