Professional Documents
Culture Documents
CHAPTER -1-
Introduction to Distributed Systems
Introduction …
Definition:
• The distributed system provides the means for components of a single distributed
application to communicate with each other, but also to let different applications
communicate.
• At the same time, it hides the differences in hardware and operating systems from
each application.
o Users and applications should not notice that parts are being replaced or fixed, or that new
parts are added to serve more users or applications.
Portability:
o It characterizes to what extent an application developed for a distributed system A
can be executed without modification, on a different distributed system B that
implements the same interfaces as A.
o Shortly, ONE on TWO different component.
e. Latency is zero.
f. Bandwidth is infinite.
2. Grid Computing:
A grid computing systems have a high degree of heterogeneity: no assumptions are made concerning
hardware, operating systems, networks, administrative domains, security policies, etc.
Fig. 1.4. Monitoring a person in a pervasive electronic health care Fig. 1.5. Organizing a sensor network database, while storing and processing
system, using (a) a local hub or (b) a continuous wireless connection. data (a) only at the operator's site or (b) only at the sensors.
CHAPTER -2-
Architecture of Distributed Systems
Introduction
Distributed systems are often complex pieces of software of which the
components are by definition dispersed across multiple machines.
The organization of distributed systems is mostly about the software components
that constitute the system.
These software architectures tell us how the various software components are to
be organized and how they should interact.
The actual realization of a distributed system requires that we instantiate and
place software components on real machines.
The final instantiation of a software architecture is also referred to as a system
architecture.
Example:
components] can be formed by the facilities for (remote) procedure calls, message
passing, or streaming data.
1. Layered Architecture:
o It is the simplest layer.
o Components are organized in a layered fashion where a
component at layer L; is allowed to call components at
the underlying layer Li, but not the other way around.
o It is widely adopted by the networking community.
o An key observation is that control generally flows from
layer to layer: requests go down the hierarchy whereas
the results flow upward. Fig. 2.1. The layered architectural style.
1. Centralized Architecture:
o In the basic client-server model, processes in a distributed system are divided into two
(possibly overlapping) groups.
a. A server is a process implementing a specific service, for example, a file system service or
a database service.
b. A client is a process that requests a service from a server by sending it a request and
subsequently waiting for the server's reply.
o This client-server interaction, also known as request-reply behaviour.
The basic idea is that when an end user is looking for a file, he downloads chunks of the file from other
users until the downloaded chunks can be assembled together yielding the complete file.
An important design goal was to ensure collaboration.