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

Distributed Computing PPT

Uploaded by

Sakthivel
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
151 views

Distributed Computing PPT

Uploaded by

Sakthivel
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 37

Distributed Computing

CONTENT

🞆 What is a Distributed Computing


🞆 Types of Distributed Computing
🞆 Examples of Distributed Computing
🞆 Common Characteristics
🞆 Basic Design Issues
🞆 Advantages
🞆 Disadvantages
🞆 Conclusion
2
1. WHAT IS A DISTRIBUTED COMPUTING?

Definition: A distributed Computing is one in which


components located at networked computers
communicate and coordinate their actions only by
passing messages. This definition leads to the
following characteristics of distributed systems:

🞆 Concurrency of components
🞆 Lack of a global ‘clock’
🞆 Independent failures of components
3
2. TYPES OF DISTRIBUTED SYSTEMS

🞆 Distributed Computing Systems.


🞆 Distributed Information Systems.
🞆 Distributed Pervasive Systems.

Distributed Computing Systems: The


distributed computing systems include the
following:
🞆 Cluster computing systems
🞆 Grid computing systems
4
Distributed Informative Systems: In the
distributed systems, the following forms are
concentrated:
🞆 Transaction processing systems
🞆 Enterprise application integration

Distributed Pervasive Systems: Few examples


of distributed pervasive systems are as below:
🞆 Home systems
🞆 Electronic health care systems
🞆 Sensor networks

5
3. EXAMPLES OF DISTRIBUTED SYSTEMS

🞆 Local Area Network and Intranet

🞆 Database Management System

🞆 Automatic Teller Machine Network

🞆 Internet/World-Wide Web

🞆 Mobile and Ubiquitous Computing

6
3.1 LOCAL AREA NETWORK

7
3.2 DATABASE MANAGEMENT SYSTEM

8
3.3 AUTOMATIC TELLER MACHINE
NETWORK

9
3.4 INTERNET

intranet %
%
% ISP

backbone

satellite link

desktop computer:
server
: link:
network

10
3.4.1 WORLD-WIDE-WEB

11
3.4.2 WEB SERVERS AND WEB
BROWSERS
http://www.google.comlsearch?q=lyu
www.google.com

Browser
Web servers
s

www.uu.se Internet
http://www.uu.se/

www.w3c.org

File system of http://www.w3c.org/Protocols/Activity.html


www.w3c.org Protocols

Activity.html
12
3.5 MOBILE AND UBIQUITOUS
COMPUTING

Internet

Host intranet GSM/GPRS


Wireless LAN gateway Home
intranet

Mobile
phone
Printer Laptop
Camera Host site
13
4. COMMON CHARACTERISTICS

🞆 What are we trying to achieve when we construct a


distributed system?
🞆 Certain common characteristics can be used to assess
distributed systems
⚫ Heterogeneity
⚫ Openness
⚫ Security
⚫ Scalability
⚫ Failure Handling
⚫ Concurrency
⚫ Transparency

14
4.1 HETEROGENEITY
🞆 Variety and differences in
⚫ Networks
⚫ Computer hardware
⚫ Operating systems
⚫ Programming languages
⚫ Implementations by different developers
🞆 Middleware as software layers to provide a programming
abstraction as well as masking the heterogeneity of the
underlying networks, hardware, OS, and programming
languages (e.g., CORBA).
🞆 Mobile Code to refer to code that can be sent from one
computer to another and run at the destination (e.g., Java
applets and Java virtual machine).
15
4.2 OPENNESS
🞆 Openness is concerned with extensions and
improvements of distributed systems.
🞆 Detailed interfaces of components need to be
published.
🞆 New components have to be integrated with
existing components.
🞆 Differences in data representation of interface
types on different processors (of different
vendors) have to be resolved.

16
4.3 SECURITY
🞆 In a distributed system, clients send requests to
access data managed by servers, resources in
the networks:
⚫ Doctors requesting records from hospitals
⚫ Users purchase products through electronic commerce
🞆 Security is required for:
⚫ Concealing the contents of messages: security and
privacy
⚫ Identifying a remote user or other agent correctly
(authentication)
🞆 New challenges:
⚫ Denial of service attack
⚫ Security of mobile code
17
4.4 SCALABILITY
🞆 Adaptation of distributed systems to
⚫ accommodate more users
⚫ respond faster (this is the hard one)

🞆 Usually done by adding more and/or faster


processors.
🞆 Components should not need to be changed
when scale of a system increases.
🞆 Design components to be scalable!

18
4.5 FAILURE HANDLING (FAULT
TOLERANCE)

🞆 Hardware, software and networks fail!


🞆 Distributed systems must maintain availability
even at low levels of hardware/software/network
reliability.
🞆 Fault tolerance is achieved by
⚫ recovery
⚫ redundancy

19
4.6 CONCURRENCY
🞆 Components in distributed systems are executed
in concurrent processes.
🞆 Components access and update shared resources
(e.g. variables, databases, device drivers).
🞆 Integrity of the system may be violated if
concurrent updates are not coordinated.
⚫ Lost updates
⚫ Inconsistent analysis

20
4.7 TRANSPARENCY
🞆 Distributed systems should be perceived by users
and application programmers as a whole rather
than as a collection of cooperating components.
🞆 Transparency has different aspects.
🞆 These represent various properties that
distributed systems should have.

21
5. BASIC DESIGN ISSUES
🞆 General software engineering principles
include rigor and formality, separation of
concerns, modularity, abstraction,
anticipation of change, …
🞆 Specific issues for distributed systems:
⚫ Naming
⚫ Communication
⚫ Software structure
⚫ System architecture
⚫ Workload allocation
⚫ Consistency maintenance 30
5.1 NAMING
🞆 A name is resolved when translated into an
interpretable form for resource/object reference.
⚫ Communication identifier (IP address + port number)
⚫ Name resolution involves several translation steps
🞆 Design considerations
⚫ Choice of name space for each resource type
⚫ Name service to resolve resource names to comm. id.
🞆 Name services include naming context resolution,
hierarchical structure, resource protection

31
5.2 COMMUNICATION
🞆 Separated components communicate with sending
processes and receiving processes for data transfer
and synchronization.
🞆 Message passing: send and receive primitives
⚫ synchronous or blocking
⚫ asynchronous or non-blocking
⚫ Abstractions defined: channels, sockets, ports.
🞆 Communication patterns: client-server communication
(e.g., RPC, function shipping) and group multicast

32
5.3 SOFTWARE STRUCTURE
🞆 Layers in centralized computer systems:

Applications
Middleware
Operating system

Computer and Network Hardware

33
5.3 SOFTWARE STRUCTURE
🞆 Layers and dependencies in distributed systems:

Application
s
Open
Distributed service
programming s
support
Open system kernel
services
Computer and network
hardware 34
5.4 SYSTEM ARCHITECTURES
🞆 Client-Server
🞆 Peer-to-Peer
🞆 Services provided by multiple servers
🞆 Proxy servers and caches
🞆 Mobile code and mobile agents
🞆 Network computers
🞆 Thin clients and mobile devices

35
5.4.1 CLIENTS INVOKE INDIVIDUAL
SERVERS

36
5.4.2 PEER-TO-PEER SYSTEMS

37
5.4.3 A SERVICE BY MULTIPLE SERVERS

38
5.4.4 WEB PROXY SERVER

39
5.4.5 WEB APPLETS

40
5.4.6 THIN CLIENTS AND COMPUTE
SERVERS

Compute server
Network computer or PC

Thin network Applicatio


Client n Proces
s

41
6.ADVANTAGES
🞆 Sharing Data : There is a provision in the environment
where user at one site may be able to access the data
residing at other sites.
🞆 Autonomy : Because of sharing data by means of data
distribution each site is able to retain a degree of
control over data that are stored locally.
🞆 Availability : If one site fails in a distributed system,
the remaining sites may be able to continue operating.
Thus a failure of a site doesn't necessarily imply the
shutdown of the System.

42
7. DISADVANTAGES

🞆 Software Development Cost


🞆 Greater Potential for Bugs
🞆 increased Processing Overhead

43
REFERENCES
🞆 www.google.com
🞆 www.wikipedia.com
🞆 www.studymafia.org
THANKS

You might also like