Alternative Client-Server Ations (A) - (E) : Types of Distributed Systems
Alternative Client-Server Ations (A) - (E) : Types of 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
• 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
– Clusters
– Grids
– Clouds
• 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
– Example: a transaction may ask for two things (e.g., airline reservation info +
hotel info) which would spawn two nested transactions
– While children are active parent may only abort, commit, or spawn other children
• The main idea was that existing applications could directly exchange
information as in given figure
• 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.,
• 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
- 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)
- 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.
• 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
• 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.
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.,
• 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 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.,
• The layered and object based architectures form the most important styles for large software systems
Contd.,
• Processes publish events after which the middleware ensures that only those
processes that subscribed to those events will receive them.
• They need not explicitly refer to each other and is referred to as referentially decoupled.
Contd.,
• 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
centralized
decentralized organizations
Centralized Architectures
• 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 server generally uses that same connection to send the reply
relatively costly, when the request and reply messages are smaIl.
Application Layering
• Many client-server applications are targeted toward
The user-interface level contains all that is necessary to directly interface with the
user, such as display management.
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.
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:
• 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.
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.
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.