2. System Model: Distributed System
2.5. Architecture Model
- Architecture model
- define the way in which the components of systems interact with one another
- define the way in which they are mapped onto the underlying network of computers
- Including
- Variations of the client-server model
- To master the complexity of distributed systems, it is crucial that they are properly organized
- Concern the logical organization of distributed systems into:
- Communicating entities (objects, components and web services);
- Communication paradigms (inter-process communication, remote invocation and indirect communication);
- Roles responsibilities and placement
- Some important architectural styles and patterns:
- Object-based architectures
- Event-based architectures
Architecture Model : Layered architecture
- Layered architecture :
- vertical organization of services
- Tiered architectures are complementary to layering
- Organize layer functionality into appropriate servers and physical nodes

Software and hardware service layers in distributed systems
- Platform :Are the lowest-level hardware and software layers
- e.g.
- Intel x86/Solaris
- SPARC/SunOS
- PowerPC/MacOS

- Middleware : Its purpose is to mask heterogeneity and provide a convenient programming model, e.g. OMG’s CORBA, Java RMI, DCOM
- Support of abstractions
- Remote method invocation: Sun RPC
- Group communication: Isis
- Notification of events
- The replication of shared data
- Transmission of multimedia data
Layered architecture (example)

Object-based architecture
- Natural units of decomposition
- Accessed via interfaces
- Connected via RMI
- Objects can be both clients or servers

Event-based architecture
- Indirect communication

Data-centered architecture
- Shared data spaces

Centralized-system architecture
- Client-server model:
- Known for more than 25 years, very popular in distributed system design
- General interaction between a client and a server.

Decentralized-system architecture
- Referred to as peer-to-peer (P2P) systems
- Every node act both as a client and server (“servant”), and “pays” for the participation by offering access to some if its resources (typically processing and storage resources, but can also be logical resources (services)
- Advantages:
- no single point of failure, scalability
- Disadvantages:
- Many application areas
- File sharing, streaming, process sharing, collaborative and social applications, web-caching etc.
Performance Issues
- Responsiveness. e.g. the performance of web-browsing clients
- the load and performance of the server and network
- delay in the client and server operating system’s communication and middleware services as well as code of the service
- Throughput
- the rate at which computational work is done
- It is affected by processing speeds and by data transfer rates
- Balancing computational loads
- E.g. applets, several computers for a service
- Reliability, security, performance and adaptability
- QoS is commandeered to refer to the ability to meet time-critical data
- Qos applies to OSs as well as networks.
- Performance issues are bars to successful deploy distributed systems
- Replication and caching, with a variety of different cache consistency protocols; e.g. Web-caching
SKR5302 Focuses
- Architecture models: defines the components of the system, the way they interact, and the way they are deployed in a network of computers
- client-server models (many variants)
- spontaneous networks (mobility)
- Student → Do search the pictorial diagram (picture) of the three different architecture models above, and explain the difference between them.
|