Distributed Computing PPT
Distributed Computing PPT
CONTENT
🞆 Concurrency of components
🞆 Lack of a global ‘clock’
🞆 Independent failures of components
3
2. TYPES OF DISTRIBUTED SYSTEMS
5
3. EXAMPLES OF DISTRIBUTED SYSTEMS
🞆 Internet/World-Wide Web
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
Activity.html
12
3.5 MOBILE AND UBIQUITOUS
COMPUTING
Internet
Mobile
phone
Printer Laptop
Camera Host site
13
4. COMMON CHARACTERISTICS
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)
18
4.5 FAILURE HANDLING (FAULT
TOLERANCE)
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
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
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
43
REFERENCES
🞆 www.google.com
🞆 www.wikipedia.com
🞆 www.studymafia.org
THANKS