You are on page 1of 24

Introduction

Categories
Motivation
Architecture
Commercial Applications
Examples of Applications
Issues and challenges
Advantages and Disadvantages
Various Research Papers
Conclusion
Definition
Distributed computing utilizes a network of many
computers, each accomplishing a portion of an
overall task, to achieve a computational result
much more quickly than with a single computer.
A distributed system is one in which hardware or
software components located at networked
computers communicate and coordinate their
actions only by message passing.
In the term distributed computing, the word
distributed means spread out across space. Thus,
distributed computing is an activity performed
on a spatially distributed system.
Cooperation
Cooperation
Cooperation
Internet
Large-scale
Application
Resource
Management
Subscription
Distribution
Distribution Distribution
Distribution
Agent
Agent Agent
Agent
Job Request
Various applications of distributive processing are used in the
following fields :
Science
Life Sciences
Cryptography
Internet
Financial
Mathematics
Language
Art
Puzzles/Games
Miscellaneous
Distributed Human Project
Collaborative Knowledge Bases
The main motivations in moving to a distributed system are the following:
Inherently distributed applications. Distributed systems have come into
existence in some very natural ways, e.g., in our society people are
distributed and information should also be distributed. Distributed
database system information is generated at different branch offices
(subdatabases), so that a local access can be done quickly. The system
also provides a global view to support various global operations.
Performance/cost. The parallelism of distributed systems reduces
processing bottlenecks and provides improved all-around performance,
i.e., distributed systems offer a better price/performance ratio.
Resource sharing. Distributed systems can efficiently upport information
and resource (hardware and software) sharing for users at different
locations.
Flexibility and extensibility. Distributed systems are capable of
incremental growth and have the added advantage of facilitating
modification or extension of a system to adapt to a changing environment
without disrupting its operations.
Availability and fault tolerance. With the multiplicity of storage units and
processing elements, distributed systems have the potential ability to
continue operation in the presence of failures in the system.
Scalability. Distributed systems can be easily scaled to include additional
resources (both hardware and software).
Following architectures are realized using distributive
processing:
Client-server:
Smart client code contacts the server for data, then
formats and displays it to the user. Input at the client is
committed back to the server when it represents a
permanent change.
3-tier architecture:
Three tier systems move the client intelligence to a middle
tier so that stateless clients can be used. This simplifies
application deployment. Most web applications are 3-Tier.
N-tier architecture:
N-Tier refers typically to web applications which further
forward their requests to other enterprise services. This
type of application is the one most responsible for the
success of application servers.
Tight coupling (Clustered) :
Tightly coupled architecture refers typically to a cluster of
machines that closely work together, running a shared
process in parallel. The task is subdivided in parts that are
made individually by each one and then put back together
to make the final result.
Peer-to-peer :
Peer-to-peer is an architecture where there is no special
machine or machines that provide a service or manage the
network resources. Instead all responsibilities are
uniformly divided among all machines, known as peers.
Peers can serve both as clients and servers.
Space based :
Space based refers to an infrastructure that creates the
illusion (virtualization) of one single address-space. Data
are transparently replicated according to application
needs. Decoupling in time, space and reference is
achieved.
Database Management System
Distributed computing using mobile agents
Local intranet
Internet (World Wide Web)
JAVA Remote Method Invocation (RMI)
Distributed Computing Using Mobile Agents
Mobile agents can be wandering around in a network using
free resources for their own computations.
Local Intranet
A portion of Internet that is separately administered &
supports internal sharing of resources (file/storage systems
and printers) is called local intranet.
Internet
The Internet is a global system of interconnected computer
networks that use the standardized Internet Protocol Suite (TCP/IP).
JAVA RMI
Embedded in language Java:-
Object variant of remote procedure call
Adds naming compared with RPC (Remote Procedure Call)
Restricted to Java environments
RMI Architecture
Internet Gomez Distributed PEER Client
(peerReview)
Evaluate the performance of large websites to
find bottlenecks.
Life Sciences - Compute Against
Cancer

(CAC)
Create immediate impact in the lives of cancer
patients and their families today, while at the
same time empowering the research that will
result in improved therapies and perhaps even
the cure.
Collaborative Knowledge Bases Wikipedia
A collaborative project to produce a complete
a free encyclopedia from scratch.
The encyclopedia is available in many non-
English languages.
Distributed Human Projects- Open Mind Indoor
Common Sense
Help teach indoor mobile robots to be
smarter. It will create a repository of
knowledge which will enable people to
create more intelligent mobile robots for
use in home and office environments.
Heterogeneity of components :-
variety or differences that apply to computer
hardware, network, OS, programming language and
implementations by different developers.
All differences in representation must be deal with if
to do message exchange.
Example : different call for exchange message in UNIX
different from Windows.
Openness:-
System can be extended and re-implemented in
various ways.
Cannot be achieved unless the specification and
documentation are made available to software
developer.
The most challenge to designer is to tackle the
complexity of distributed system; design by different
people.
Security:-
Security for information resources in distributed
system have 3 components :
a. Confidentiality : protection against disclosure to
unauthorized individuals.
b. Integrity : protection against alteration/corruption
c. Availability : protection against interference with the
means to access the resources.
The challenge is to send sensitive information
over Internet in a secure manner and to identify
a remote user or other agent correctly.
Scalability :-
Distributed computing operates at many
different scales, ranging from small Intranet to
Internet.
A system is scalable if there is significant
increase in the number of resources and users.
The challenges is :
a. controlling the cost of physical resources.
b. controlling the performance loss.
c. preventing software resource running out.
d. avoiding performance bottlenecks.
Failure Handling :-
Failures in a distributed system are partial
some components fail while others can function.
Thats why handling the failures are difficult
a. Detecting failures : to manage the presence of
failures cannot be detected but may be suspected.
b. Masking failures : hiding failure not guaranteed in the
worst case.
Concurrency :-
Where applications/services process concurrency,
it will effect a conflict in operations with one
another and produce inconsistence results.
Each resource must be designed to be safe in a
concurrent environment.
Economics:-
Computers harnessed together give a better price/performance
ratio than mainframes.
Speed:-
A distributed system may have more total computing power than
a mainframe.
Inherent distribution of applications:-
Some applications are inherently distributed. E.g., an ATM-
banking application.
Reliability:-
If one machine crashes, the system as a whole can still survive if
you have multiple server machines and multiple storage devices
(redundancy).
Extensibility and Incremental Growth:-
Possible to gradually scale up (in terms of processing power and
functionality) by adding more sources (both hardware and
software). This can be done without disruption to the rest of the
system.
Network problem:-
If the network underlying a distributed system saturates
or goes down, then the distributed system will be
effectively disabled thus negating most of the
advantages of the distributed system.
Security:-
Security is a major hazard since easy access to data
means easy access to secret data as well.
Distributed Computing research issues in Grid
Computing by Henri Casanova:
This paper discusses the major issues raised
by grid computing in the field of distributed
computing. It takes into account the various
shortcomings of the previous research done
in the field of distributed processing when
applied to grid computing. The scalable and
timely propagation of dynamic information
concerning both application data and grid
resources in grid computing requires a
scalable event based interaction which is
difficult even for distributed systems.
Distributed computing in mobile environment
by Apekshit and Chandrakant Sharma:
This paper considers central issues of
distributed computing in a mobile
environment(i.e., cellular and ad hoc
networks ,peer to peer systems, mobile
virtual reality and cooperative robotics. Its
aim is to light on the first brick of a common
view for mobile systems.
It proposes a distributed algorithm for
solving the h out of k mutual exclusion
problem (also known as resource allocution
problem) for ad hoc mobile networks.
The concept of distributed computing is the most
efficient way to achieve the optimization.
Distributed computing is anywhere : intranet,
Internet or mobile ubiquitous computing (laptop,
PDAs, pagers, smart watches, hi-fi systems)
It deals with hardware and software systems, that
contain more than one processing / storage and
run in concurrently.
Main motivation factor is resource sharing; such as
files , printers, web pages or database records.
Grid computing and cloud computing are form of
distributed computing.