02 SystemModels Architecture 2
02 SystemModels Architecture 2
Distributed Architecture
1
Distributed System Challenges
Architecture Models
Distributed Architectures:
Placement of components across a network for
the useful distribution of data and workload
Define functional roles of components and
patterns of communication between them
Driven by non-functional requirements:
Performance, reliability, security, cost, etc.
2
Software and hardware service layers in distributed systems
Applications, services
Middleware
Operating system
Platform
Platform :
Box dependent HW & SW layers that provide services
to OS layers above
Middleware:
Layer of software that masks heterogeneity and
provides a convenient programming model for
application programmers.
Java RMI, CORBA, web services,DCOM(.NET Remoting)
Services – transactions, persistence, naming, etc.
3
Limitations of Middleware
Client–Server Model
result result
Server
Client
Key:
Process: Computer:
4
Variation -a service provided by multiple servers
Service
Server
Client
Server
Client
Server
Client Web
server
Proxy
server
Client Web
server
5
Variation - Thin clients and compute servers
Compute server
Network computer or PC
Application Application
Coordination Coordination
code code
Application
Coordination
code
6
Design Requirements for Distributed Architectures
Performance Issues
Response Time – time system takes to process a
request.
Responsiveness – how quickly system acknowledges a
request (as opposed to processing it)
Throughput – rate at which work gets done
Latency – time needed to accomplish remote requests
Note that “performance” can be viewed from
conflicting perspectives (throughput vs response time)
http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast