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
    • Client-server model
    • Peer process model
    • 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:
    • Layered architectures
    • Object-based architectures
    • Event-based architectures
    • Shared data spaces
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/Windows
    • Intel x86/Linux
    • 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: 
    • complexity of protocols
  • 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)
    • peer processes (P2P)
    • spontaneous networks (mobility)
  • Student  → Do search the pictorial diagram (picture) of the three different architecture models above, and explain the difference between them.