IPT Week02Lecture03
IPT Week02Lecture03
Techniques
Week 02 Lecture 03
M U RTA ZA M U N AWAR FA ZA L
Distributed Systems
▪Virtually all large computer-based systems are now
distributed systems.
▪Information processing is distributed over several
computers rather than confined to a single machine.
▪Different distributed systems architectures
▪ parallel/cluster/grid computing
▪ client-server
▪ distributed object architectures -CORBA; .NET; J2EE
▪ peer-to-peer
▪ service-oriented architectures
Middleware
▪Software that manages and supports the different components of a
distributed system. In essence, it sits in the middle of the system.
▪Middleware can be off-the-shelf rather than specially written software
▪Examples
▪ Transaction processing monitors;
▪ Data converters;
▪ Communication controllers.
Client-server architecture
▪Distributed system model where data and processing is distributed
across a range of components
▪Set of servers which provide specific services such as printing, data
management, etc.
▪Set of clients which call on these services
▪Network which allows clients to access servers
▪Clients know of servers but servers need not know of clients
Example: Film and picture library
Computers in a C/S network
Client-server characteristics
▪Advantages
▪ Distribution of data is straightforward
▪ Makes effective use of networked systems
▪ May require cheaper hardware
▪ Easy to add new servers or upgrade existing servers
▪Disadvantages
▪ No shared data model so sub-systems use different data organization-data
interchange may be inefficient
▪ Redundant management in each server
▪ No central register of names and services -it may be hard to find out what
servers and services are available
Layered application
architecture
▪Presentation layer
▪ Concerned with presenting the results of a computation to system users and
with collecting user inputs
▪Fat-client model
▪ the server is only responsible for data management.
▪ software on the client implements the application logic and the interactions
with the system user
Scaling
Environment is typically heterogeneous and multi-vendor
▪Client-server systems can be scaled horizontally or vertically
◦ Horizontal scaling means adding or removing client workstations with only a
slight performance impact. (Adding more machines)
◦ Vertical scaling means migrating to a larger and faster server machine or
multi servers. (adding hardware resources to the same machines)