0% found this document useful (0 votes)
83 views

Alternative Client-Server Ations (A) - (E) : Types of Distributed Systems

This document discusses different types of distributed systems including distributed computing systems like clusters, grids, and clouds. It also discusses distributed information systems like transaction processing systems and enterprise application integration. Finally, it discusses distributed embedded systems like home, health care, and sensor networks. It provides details on clusters, grids, transaction processing, and enterprise application integration.

Uploaded by

Amudha Arul
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views

Alternative Client-Server Ations (A) - (E) : Types of Distributed Systems

This document discusses different types of distributed systems including distributed computing systems like clusters, grids, and clouds. It also discusses distributed information systems like transaction processing systems and enterprise application integration. Finally, it discusses distributed embedded systems like home, health care, and sensor networks. It provides details on clusters, grids, transaction processing, and enterprise application integration.

Uploaded by

Amudha Arul
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 51

DISTRIBUTED SYSTEMS

Alternative client-server
Types of Distributed Systemsations
(a)–(e)
Dr.P.Amudha
Associate Professor
Types of Distributed Systems
• Distributed Computing Systems : An important class of
distributed systems is the one used for high-performance
computing tasks
– Clusters
– Grids
– Clouds
• Distributed Information Systems
– Transaction Processing Systems
– Enterprise Application Integration
• Distributed Embedded Systems
– Home systems
– Health care systems
– Sensor networks
Cluster Computing
• A collection of similar processors (PCs, workstations)
running the same operating system, connected by a
high-speed LAN.
• Parallel computing capabilities using inexpensive PC
hardware
• Cluster computing systems became popular when the
price/performance ratio of personal computers
and workstations improved
• Replace big parallel computers
Cluster Types & Uses
• High Performance Clusters (HPC)
– run large parallel programs
– Scientific, military, engineering apps; e.g., weather
modeling
• Load Balancing Clusters
– Front end processor distributes incoming requests
– server farms (e.g., at banks or popular web site)
• High Availability Clusters (HA)
– Provide redundancy – back up systems
– May be more fault tolerant than large mainframes
Clusters – Beowulf model
• Cluster computer is formed by Linux-based

• Each cluster consists of a collection of compute nodes that are


controlled and accessed by means of a single master node.
• Master-slave paradigm
– One processor is the master; allocates tasks to other processors

–maintains batch queue of submitted jobs, handles interface to users

–Master has libraries to handle message-based communication or other features (the


middleware).
Cluster Computing Systems

Figure 1-6. An example of a cluster computing system.

• cluster computing is used for parallel programming in which a


single (compute intensive) program is run in parallel on
multiple machines
Grids
• Can handle workloads similar to those on supercomputers,
but grid computers connect over a network (Internet) and
supercomputers’ CPUs connect to a high-speed internal
bus/network

• Problems are broken up into parts and distributed across


multiple computers in the grid – less communication between
parts than in clusters.
Grid Computing Systems
• A characteristic feature of cluster computing is its Homogeneity

• In contrast, grid computing systems have a high degree of heterogeneity: no


assumptions are made concerning hardware, operating systems, networks,
administrative domains, security, policies etc.,

• A key issue in a grid computing system is that resources from different organizations
are brought together to allow the collaboration of a group of people or institutions.
• Such a collaboration is realized in the form of a virtual organization.

• The people belonging to the same virtual organization have access rights to the
resources that are provided to that organization.
A Proposed Architecture for Grid Systems*
• Fabric layer: interfaces to local resources at a
specific site
• Connectivity layer: protocols to support usage
of multiple resources for a single application;
e.g., access a remote resource or transfer data
between resources; and protocols to provide
security
• Resource layer manages a single resource,
using functions supplied by the connectivity layer
• Collective layer: resource discovery, allocation,
scheduling, etc.
• Applications: consists of the applications that
operate within a virtual organization and use the
grid resources
Figure 1-7. A layered
• The collective, connectivity and resource layers
architecture for grid
together form the middleware layer for a grid computing systems
Cloud Computing

• Provides scalable services as a utility over the Internet.

• Often built on a computer grid

• Users buy services from the cloud

– Grid users may develop and run their own software


Types of Distributed Systems
• Distributed Computing Systems

– Clusters

– Grids

– Clouds

• Distributed Information Systems

• Distributed Embedded Systems


Distributed Information Systems
• Business-oriented

• Systems to make a number of separate network applications interoperable and build “enterprise-wide information
systems”.

• In many cases, a networked application simply consisted of a server running that application and making it
available to remote programs, called clients.

• The clients could send a request to the server for executing a specific operation, after which a response would be
sent back.

• Integration at the lowest level would allow clients to wrap a number of requests, into a single larger request and
executed as a distributed transaction.
Distributed Information Systems
• As applications became more sophisticated, integration should also take place
by letting applications communicate directly with each other.
• This has now led to a huge industry that concentrates on enterprise application
integration (EAl).
• Two types discussed here:
– Transaction processing systems
– Enterprise application integration (EAI)
Common Distributed Systems

• Transaction Processing
• Enterprise Applications
• Pervasive Systems
• Sensor Networks
Transaction Processing Systems
• In database applications, operations on a database are usually
carried out in the form of transactions.
• Programming using transactions requires special primitives
that must either be supplied by the underlying distributed system
•Provide a highly structured client-server approach for database
applications
•Transactions are the communication model
Transaction processing may be centralized (traditional
client/server system) or distributed.
A distributed database is one in which the data storage is
distributed – connected to separate processors.
Contd.,
• In a mail system, there might be primitives to send, receive, and
forward mail.
• In an accounting system, they might be quite different. READ and
WRITE are typical examples

Figure 1-8. Example primitives for transactions


Characteristic properties of transactions:
• Atomic: To the outside world, the transaction happens indivisibly.
• Consistent: The transaction does not violate system invariants.
• Isolated: Concurrent transactions do not interfere with each other.
• Durable: Once a transaction commits, the changes are permanent.
Known as ACID properties
Nested Transactions
• A nested transaction is a transaction within another transaction (a sub-
transaction)

– Example: a transaction may ask for two things (e.g., airline reservation info +
hotel info) which would spawn two nested transactions

• Primary transaction waits for the results.

– While children are active parent may only abort, commit, or spawn other children

Figure 1-9. A nested transaction


Contd.,

•Nested transactions are important in distributed systems


•They provide a natural way of distributing a transaction
across multiple machines.
•They follow a logical division of the work of the original
transaction.
•eg, a transaction for planning a trip by which three different
flights need to be reserved can be logically split up into three
Sub-transactions.
•Each of these sub-transactions can be managed separately
and independent of the other two.
Contd.,

•In the early days of enterprise middleware systems, the


component that handled distributed (or nested) transactions
formed the core for integrating applications at the server or
database level.
•This component was called a transaction processing monitor
or TP monitor for short.
•Its main task was to allow an application to access multiple
server/databases by offering it a transactional programming
model
Contd.,

Figure 1-10. The role of a TP monitor (a.k.a. Coordinator)


in distributed systems.
Enterprise Application Integration
• Application components should be able to communicate directly with
each other and not merely by means of the request/reply behavior as
in transaction processing systems.

• This need for inter-application communication led to many different


communication models

• The main idea was that existing applications could directly exchange
information as in given figure

• Several types of communication middleware exist.

• With remote procedure calls (RPC), an application component can


effectively send a request to another application component by doing
a local procedure call

• the result will be sent back to the application as the result of the
procedure call.
Contd.,

• As the popularity of object technology increased, techniques were developed to allow calls to remote objects known as remote method invocations (RMI).

• An RMI is essentially the same as an RPC, except that it operates on objects instead of applications.

• RPC and RMI have the disadvantage that the caller and callee both need to be up and running at the time of communication.

• They also need to know exactly how to refer to each other. This tight coupling is a serious drawback, and has led to message-oriented middleware (MOM).

• In this, applications simply send messages to logical contact indicate their interest for a specific type of message

• the communication middleware will take care that those messages are delivered to those applications.
Contd.,

Figure 1-11. Middleware as a communication facilitator in


enterprise application integration.
Distributed Pervasive Systems
• The first two types of systems are characterized by their stability: nodes and high-quality connection to a
network.

• matters have become very different with the introduction of mobile and embedded computing devices.

• The devices in distributed pervasive systems, are often characterized by being small, battery-powered,
mobile, and having only a wireless connection
– Home systems
– Electronic health care systems – patient monitoring
– Sensor networks – data collection, surveillance

not all these characteristics apply to all devices.


Contd.,
• An important feature of this system is general lack of human administrative control.

• At best, devices can be configured by their owners

• Three requirements for pervasive applications:

1. Embrace contextual changes.

- device must be continuously be aware of the fact that its environment may change all the time.(eg., discovering that a network is no longer
available)

2. Encourage ad hoc composition.

- many devices will be used in very different ways by different users.

3. Recognize sharing as the default

- devices generally join the system in order to access information (easily read, store, manage, and share information).
Home System
• Built around one or more PCs, but can also include other electronic devices:
– Automatic control of lighting, sprinkler systems, alarm systems, etc.

– Network enabled appliances, kitchen appliances, surveillance cameras,

– PDAs and smart phones, etc.

• System should be completely self-configuring and self-managing

• Another issue is managing a "personal space “ where a home system consists of many shared as well as personal devices

• personal space may consist of a persons agenda, family photo's, a diary. music

and videos etc.

• These personal assets should be stored in such a way that a person .has access to them whenever appropriate.

• Moreover. parts of this personal space should be (temporarily) accessible to others, for example. When a person needs to make a business appointment
Electronic Health Care Systems
• With the increasing cost of medical treatment, new devices are
being developed to monitor the well-being of individuals and to
automatically contact physicians when needed.

• In many of these systems, a major goal is to prevent people from


being hospitalized.

• Personal health care systems are often equipped with various


sensors organized in a body-area network (BAN).

• the network should be able to operate while a person is moving,


Contd.,

Figure 1-12. Monitoring a person in a pervasive electronic health care system, using (a) a local hub or (b) a continuous wireless connection.
• In the first one, a central hub is part of the BAN and collects data as needed.
• From time to time, this data is then offloaded to a larger storage device.
• The advantage of this scheme is that the hub can also manage the BAN.
• In the second scenario, the BAN is continuously hooked up to an external network, again through a wireless connection, to which it sends monitored data.
• further connections to a physician or other people may exist as well.
Contd.,

Questions to be addressed for health care systems:

• Where and how should monitored data be stored?

• How can we prevent loss of crucial data?

• What infrastructure is needed to generate and propagate


alerts?

• How can physicians provide online feedback?

• How can extreme robustness of the monitoring system be


realized?

• What are the security issues and how can the proper policies
be enforced?
Sensor Networks
• A sensor network typically consists of tens to hundreds or
thousands of relatively small nodes, each equipped with a
sensing device.
• Most sensor networks use wireless communication, and
the nodes are often battery powered.
• Purpose: to collectively monitor sensory data
(temperature, sound, moisture etc.,) and transmit the data
to a base station
• To organize a sensor network as a distributed database,
there are essentially two extremes, as shown in Fig. 1-13.
Contd.,

Figure 1-13. Organizing a sensor network database, while storing and processing data (a) only at the operator’s site or …
• First, sensors do not cooperate but simply send their data to a centralized database located at the operator's site
• It requires that sensors send all their measured data through the network, which may waste network resources and energy
Contd.,

Figure 1-13. Organizing a sensor network database, while storing and processing data … or (b)
only at the sensors.

• The other extreme is to forward queries to relevant sensors and to let


each compute an answer, requiring the operator to sensibly aggregate
the returned answers.
Architectural Styles
• Architectural style is formulated in terms of the way that components
are connected to each other, the data exchanged between
components.

• Finally how these elements are jointly configured into a system.

• A component is a modular unit with well-defined required and


provided interfaces that is replaceable within its environment
Important styles of architecture for distributed systems
• Layered architectures
• Object-based architectures
• Data-centered architectures
• Event-based architectures
Contd.,

Figure 2-1. The (a) layered architectural style

• The layered style is simple: components are organized in a layered fashion where a component at layer L; is allowed to call components at the underlying layer Li
• Widely adopted by the networking community

• Control generally flows from layer to layer: requests go down the hierarchy whereas the results flow upward

Tanenbaum &
Van Steen,
Contd.,

Figure 2-1. (b) The object-based architectural style.


• Each object corresponds to a component, and components are connected through a (remote) procedure call mechanism.

• This software architecture matches the client-server system architecture.

• The layered and object based architectures form the most important styles for large software systems
Contd.,

Figure 2-2. (a) The event-based architectural style

• Processes essentially communicate through the propagation of events, which optionally


also carry data

• Processes publish events after which the middleware ensures that only those
processes that subscribed to those events will receive them.

• The main advantage of is that processes are loosely coupled.

• They need not explicitly refer to each other and is referred to as referentially decoupled.
Contd.,

Figure 2-2. (b) The shared data-space architectural style.

• Event-based architectures can be combined with data-centered


architectures, yielding what is also known as shared data spaces.

• The essence of shared data spaces is that processes are now also
decoupled in time: they need not both be active when communication
takes place.
SYSTEM ARCHITECTURES

• Deciding on software components, their interaction, and their


placement leads to an instance of a software architecture, also
called a system architecture

 centralized

 decentralized organizations
Centralized Architectures

• Communication between a client and a server can be implemented by simple connectionless


protocol as in many local-area networks.

• When a client requests a service, it simply packages a message for the server, along with the
necessary input data and sent to the server.
• Subsequently process it, and package the results in a reply message and sent to the client.
Tanenbaum &
 AsVan
longSteen,
as messages do not get lost or corrupted, the request/reply protocol works fine.

 let the client resend the request when no reply message comes in.
Contd.,

The problem is that the client cannot detect whether the


original request message was lost, or that transmission of
the reply failed.
If the reply was lost, then resending a request may result
in performing the operation twice.
When an operation can be repeated multiple times
without harm, it is said to be idempotent.
As an alternative, many client-server systems use a reliable
connection oriented protocol.
This is not entirely appropriate in a LAN due to relatively low
performance, it works perfectly in WAN.
Contd.,

whenever a client requests a service, it first sets up a connection to

the server before sending the request.

The server generally uses that same connection to send the reply

message, after which the connection is torn down.

The trouble is that setting up and tearing down a connection is

relatively costly, when the request and reply messages are smaIl.
Application Layering
• Many client-server applications are targeted toward

user access to databases, and makes distinction between

the three levels which follows the layered architectural style:

• The user-interface level

• The processing level

• The data level

 The user-interface level contains all that is necessary to directly interface with the
user, such as display management.

 The processing level typically contains the applications.

 The data level manages the actual data that is being acted on.
Contd.,
• Clients typically implement the user-interface level.
• This level consists of the programs that allow end users to interact with
applications.
• The simplest user-interface program is nothing more than a character-
based screen.

• Such an interface has been used in mainframe environments where the


mainframe controls all interaction, including the keyboard and monitor
Contd.,

The simplified organiz ation of an Internet search engine into three different layers.
• Consider an Internet search engine where the user interface of a search engine is very simple:
• a user types in a string of keywords and is subsequently presented with a list of titles of Web pages.
• The back end is formed by a huge database of Web pages that have been prefetched and indexed.
• The core of the search engine is a program that transforms the user's string of keywords into one or more database queries.
• It subsequently ranks the results into a list, and transforms that list into a series of HTML pages.
• Within the client-server model, this information retrieval part is typically placed at the processing level
Contd.,

• The data level in the client-server model contains the programs that maintain the actual
data on which the applications operate.

• An important property of this level is that data are often persistent, that is, even if no
application is running, data will be stored somewhere for next use.

• In its simplest form, the data level consists of a file system, but it is more common to use
a full-fledged database.

• In the client-server model, the data level is typically implemented at the server side.

• Besides merely storing data, the data level is generally also responsible for keeping
data consistent across different applications.

• For example, in the case of a bank, we may want to generate a notification when a
customer's credit card/ debt reaches a certain value.

• This type of information can be maintained through a database trigger that activates a
handler for that trigger at the appropriate moment.
Multitiered Architectures
The simplest organization is to have only two types of machines:

• A client machine containing only the programs implementing (part of)


the user-interface level

• A server machine containing the rest,


– the programs implementing the processing and data level

• In this type, everything is handled by the server while the client is essentially
no more than a dumb terminal, possibly with a pretty graphical interface

• One approach for organizing the clients and servers is to distribute the
programs in the application layers (previous section) across different
machines,

Tanenbaum &
Van Steen,
Alternative client-server organizations (a)–(e)

.
Contd.,
• Server-side solutions are becoming increasingly more distributed as a single
server is being replaced by multiple servers running on different machines.

• Eg., three-tiered architecture is in the organization of Web sites.

• In this case, a Web server acts as an entry point passing requests to


an application server where the actual processing takes place.

• This application server, in turn, interacts with a database server.

Tanenbaum &
Van Steen, Distr
Decentralized Architecture
• In many business environments, distributed processing is equivalent to organizing a client-
server application as a multit-tiered architecture.

• This type of distribution is vertical distribution.

• The characteristic feature of vertical distribution is that it is achieved by placing logically


different components on different machines.
• The term is related to the concept of vertical fragmentation as used in

distributed relational databases, where it means that tables are split column-wise, and
subsequently distributed across multiple machines.

• In modem architectures, the distribution of the clients and the servers, refer to as horizontal
distribution.
• In this type of distribution, a client or server may be physically split up into logically
equivalent parts, but each part is operating on its own share of the complete data set, thus
balancing the load.

• A class of modern system architectures that support horizontal distribution, known as peer-to-
peer systems.

Tanenbaum &
Van Steen, Distr
Structured Peer-to-Peer Architectures
• Peer-to-peer architectures evolve in organizing the processes in an
overlay network, that is, a network in which the nodes are formed by
the processes and the links represent the possible communication
channels.
• In general, a process cannot communicate directly with an arbitrary
other process,
• But is required to send messages through the available
communication channels.
• Two types of overlay networks exist: those that are structured and
those that are not.
Structured Peer-to-Peer Architectures
• In a structured peer-to-peer architecture, the
overlay network is constructed a distributed
hash table (DHT).
• In a DHT-based system, data items are
assigned a random key from a large identifier
space,
• Likewise, nodes in the system are also
assigned a random number from the same
identifier space.
• For example, the nodes are logically
Figure 2-7. The mapping of data items
organized in a ring such that a data item with
onto nodes in Chord.
key k is mapped to the node with the smallest
identifier. This node is referred to as the
successor of key k as in Fig. 2-7.

You might also like