SlideShare a Scribd company logo
INTRODUCTION TO DISTRIBUTED
SYSTEMS
BY:
Sunita Sahu
Assistant Professor,
VESIT,Mumbai
INTRODUCTION TO DISTRIBUTED
SYSTEMS
`
 Definition
 Motivation for Distributed system
 Architectural Categories
 Characteristics, Issues, Goals,
 Advantages
 Disadvantages
DEFINITION
 A distributed system is a collection of independent
computers, interconnected via a network, capable of
collaborating on a task.
 A distributed system can be characterized as collection of
multiple autonomous computers that communicate over a
communication network and having following features:
 No common Physical clock
 Enhanced Reliability
 Increased performance/cost ratio
 Access to geographically remote data and resources
 Scalability
3
DEFINITION CNTD…
 Distributed system is a collection of independent
entities that cooperate to solve a problem that cannot
be solved individually.
 So, basically it is nothing but a collection of computers.
 DCS do not share a common memory or do not have a
common physical clock, and the only way they can
communicate is through the message passing and for
that they require a communication network
Definition of a Distributed System
A distributed system is (Tannenbaum):
A collection of independent computers that
appears to its users as a single coherent
system.
A distributed system is (Lamport):
One in which the failure of a computer you
didn't even know existed can render your
own computer unusable
Overview…
 Distributed system connects autonomous processors by
communication network.
 The software component that run on each of the
computers use the local operating system and network
protocol stack.
 The distributed software is termed as middleware.
 The distributed execution is the execution of the
processes across the distributed system to collectively
achieve a common goal.
Motivation for Distributed system
 Inherently distributed computation that is many
applications such as money transfer in the banking, or
reaching a consensus among the parties that are
geographically distant, the computation is inherently
distributed.
 Resource sharing the sharing of the resources such as
peripherals, and a complete data set and so on and so forth.
 Access the geographically remote data and resources, such
as bank database, supercomputer and so on.
 Reliability enhanced reliability possibility of replicating the
resources and execution to enhance the reliability.
Introduction to Distributed System
Architectural Categories
Computer architectures consisting of
interconnected, multiple processors are basically
of two types:
1). Tightly coupled system
2). Loosely coupled system
TIGHTLY COUPLED SYSTEMS
In these systems, there is a single system wide
primary memory (address space) that is shared
by all the processors . Usually tightly coupled
systems are referred to as parallel processing
systems.
CPU CPU
System-
Wide
Shared
memory CPU
Interconnection hardware
CPU
LOOSELY COUPLED SYSTEMS
 In these systems, the processors do not share
memory, and each processor has its own local
memory .Loosely coupled systems are referred
to as distributed computing systems, or simply
distributed systems
Local memory
CPU
Local memory
CPU
Local memory
CPU
Local memory
CPU
Communication network
CHARACTERISTICS OF DISTRIBUTED
SYSTEM
Concurrency
No global clock
Independent failures
More reliable
Fault tolerant
Scalable
EXAMPLES OF DISTRIBUTED SYSTEMS
 Database Management System
 Automatic Teller Machine Network
 Internet/World-Wide Web
 Mobile and Ubiquitous Computing
13
DATABASE MANAGEMENT SYSTEM
14
AUTOMATIC TELLER MACHINE
NETWORK
15
INTERNET
16
intranet
ISP
desktop computer:
backbone
satellite link
server:

network link:



WORLD-WIDE-WEB
17
WEB SERVERS AND WEB BROWSERS
18
Internet
Browsers
Web servers
www.google.com
www.uu.se
www.w3c.org
Protocols
Activity.html
http://www.w3c.org/Protocols/Activity.html
http://www.google.comlsearch?q=lyu
http://www.uu.se/
File system of
www.w3c.org
MOBILE AND UBIQUITOUS COMPUTING
19
Laptop
Mobile
Printer
Camera
Internet
Host intranet Home intranet
GSM/GPRS
Wireless LAN
phone
gateway
Host site
Distributed System
A distributed system organized as middleware. The
middleware layer extends over multiple machines,
and offers each application the same interface.
GOALS:COMMON HARACTERISTICS
 Making resources accessible
 Openness
 Transparency
 Security
 Scalability
 Failure Handling
 Concurrency
 Heterogeneity
Making resources accessible
• The main goal of a distributed system is to make it
easy for the users (and applications) to access
remote resources, and to share them in a controlled
and efficient way.
• Resources can be just about anything, but typical
examples include things like printers, computers,
storage facilities, data, files, Web pages, and
networks,
Reasons to share resources.
• Economics.
OPENNESS
 An open distributed system is a system that offers
services according to standard rules that describe
the syntax and semantics of those services.
 Detailed interfaces of components need to be
published.
 New components have to be integrated with
existing components. An open distributed system
should also be extensible.
 Differences in data representation of interface types
on different processors (of different vendors) have
to be resolved.
23
TRANSPARENCY
 Distributed systems should be perceived by users
and application programmers as a whole rather
than as a collection of cooperating components.
 Ability to hide the fact that process and resources
are distributed .
 Transparency has different aspects.
 These represent various properties that distributed
systems should have.
24
Transparency in a Distributed
System
ACCESS TRANSPARENCY
 Enables local and remote information objects to be
accessed using identical operations.
 Example: File system operations in NFS.
 Example: Navigation in the Web.
 Example: SQL Queries
26
LOCATION TRANSPARENCY
 Enables information objects to be accessed
without knowledge of their location.
 Example: File system operations in NFS
 Example: Pages in the Web
 Example: Tables in distributed databases
27
CONCURRENCY TRANSPARENCY
 Enables several processes to operate
concurrently using shared information objects
without interference between them.
 Example: NFS
 Example: Automatic teller machine network
 Example: Database management system
28
REPLICATION TRANSPARENCY
 Enables multiple instances of information
objects to be used to increase reliability and
performance without knowledge of the replicas
by users or application programs
 Example: Distributed DBMS
 Example: Mirroring Web Pages.
29
FAILURE TRANSPARENCY
 Enables the concealment of faults
 Allows users and applications to complete their
tasks despite the failure of other components.
 Partial failure transparency is achievable but
complete failure transparency is not possible
 Example: Database Management System
30
MIGRATION TRANSPARENCY
 Allows the movement of information objects
within a system without affecting the operations
of users or application programs
 Relocation Transparency:
 Situation in which resources can be relocated
while they are being accessed without the user
or application noticing anything. In such cases,
the system is said to support relocation
transparency.
31
PERFORMANCE TRANSPARENCY
 Allows the system to be reconfigured to
improve performance as loads vary.
 Load should be evenly distributed among all the
machines.
32
SCALING TRANSPARENCY
 Allows the system and applications to expand
in scale without change to the system structure
or the application algorithms.
 Example: World-Wide-Web
 Example: Distributed Database
33
HETEROGENEITY
 Variety and differences in
 Networks
 Computer hardware
 Operating systems
 Programming languages
 Implementations by different developers
34
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
35
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
36
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.
37
SCALABILITY
 Scalability of a system can be measured along at
least three different dimensions
 scalability with respect to size: meaning that we can
easily add more users and resources to the system.
 geographically scalable :system is one in which the
users and resources may lie far apart.
 Administratively scalable: meaning that it can still be
easy to manage even if it spans many independent
administrative organizations.
SCALING TECHNIQUES
 Hiding communication latencies
 Asynchronous communication
 Allocate more job to client machine
 Distribution
 Distribution involves taking a component, splitting it into
smaller parts, and subsequently spreading those parts
across the system. An excellent example of distribution
is the Internet Domain Name System (DNS)
 Replicate
4. BASIC DESIGN ISSUES
 Specific issues for distributed systems:
 Naming
 Communication
 Software structure
 System architecture
 Workload allocation
 Consistency maintenance
40
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
41
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
42
SOFTWARE STRUCTURE
 Layers in centralized computer systems:
43
Applications
Middleware
Operating system
Computer and Network Hardware
SOFTWARE STRUCTURE
 Layers and dependencies in distributed systems:
44
Applications
Distributed programming
support
Open
services
Open system kernel services
Computer and network hardware
Challenges
• Performance
• Concurrency
• Failures
• Scalability
• System updates/growth
• Heterogeneity
• Openness
• Multiplicity of ownership, authority
• Security
• Quality of service/user experience
• Transparency
• Debugging
ADVANTAGES OF DISTRIBUTED SYSTEM
 Information Sharing among Distributed Users
 Resource Sharing
 Extensibility and Incremental growth
 Shorter Response Time and Higher Output
 Higher Reliability
 Better Flexibility’s in meeting User’s needs
 Better price/performance ratio
 Scalability
 Transparency
7
DISADVANTAGES OF DISTRIBUTED
SYSTEM
 Difficulties of developing distributed
software
 Networking Problem
 Security Problems
 Performance
 Openness
 Reliability and Fault Tolerance
8
REFERENCES:
 Tanenbaum, Andrew S., and Maarten Van
Steen. Distributed systems: principles and
paradigms. Prentice-Hall, 2007.
 Sinha, Pradeep K. Distributed operating systems:
concepts and design. PHI Learning Pvt. Ltd., 1998.
 NOC:Distributed Systems,NPTEL

More Related Content

PPTX
PPTX
Distributed computing
PPT
chapter 1- introduction to distributed system.ppt
PPTX
Distributed operating system
PPT
Distributed Systems
PPTX
2. Distributed Systems Hardware & Software concepts
PPTX
CCS335 - Cloud architecture model and infrastructure
PDF
Inter-Process Communication in distributed systems
Distributed computing
chapter 1- introduction to distributed system.ppt
Distributed operating system
Distributed Systems
2. Distributed Systems Hardware & Software concepts
CCS335 - Cloud architecture model and infrastructure
Inter-Process Communication in distributed systems

What's hot (20)

PPT
cloud computing:Types of virtualization
PPTX
Distributed DBMS - Unit 5 - Semantic Data Control
PPT
distributed shared memory
PPTX
Applications of paralleL processing
PPTX
Synchronization in distributed computing
PPTX
distributed Computing system model
PPTX
Distributed database
PPTX
Underlying principles of parallel and distributed computing
PPT
Communication primitives
PPT
Chapter 6-Consistency and Replication.ppt
PPTX
Query processing in Distributed Database System
PPT
System models in distributed system
PPTX
Distributed shred memory architecture
PPTX
Distributed file system
ODP
Distributed operating system(os)
PPTX
Distributed DBMS - Unit 6 - Query Processing
PPTX
Fragmentation and types of fragmentation in Distributed Database
PDF
Resource management
PDF
Processes and Processors in Distributed Systems
PPTX
Storage management in operating system
cloud computing:Types of virtualization
Distributed DBMS - Unit 5 - Semantic Data Control
distributed shared memory
Applications of paralleL processing
Synchronization in distributed computing
distributed Computing system model
Distributed database
Underlying principles of parallel and distributed computing
Communication primitives
Chapter 6-Consistency and Replication.ppt
Query processing in Distributed Database System
System models in distributed system
Distributed shred memory architecture
Distributed file system
Distributed operating system(os)
Distributed DBMS - Unit 6 - Query Processing
Fragmentation and types of fragmentation in Distributed Database
Resource management
Processes and Processors in Distributed Systems
Storage management in operating system
Ad

Similar to Introduction to Distributed System (20)

PPTX
Distributed Computing Introduction01.pptx
PDF
mnjkhhjggfhjkl;kjhgf hgghgfffd hghzss.pdf
PPTX
Lecture_1.pptx Introduction Introduction
PPTX
Distributed Systems.pptx
PPTX
OS .pptx
PPT
- Introduction - Distributed - System -
DOCX
DISTRIBUTED SYSTEM.docx
DOCX
Distributed system Tanenbaum chapter 1,2,3,4 notes
PPT
Chapter One.ppt
PPT
Chapter 1_NG_2020.ppt
PDF
Chapter 1 introduction
PPTX
Distributed Systems for Data Sciene and Analytics
PDF
distributed system chapter one introduction to distribued system.pdf
PPT
Chapter 1-Introduction.ppt
PPTX
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
PPTX
Lect 2 Types of Distributed Systems.pptx
PDF
chapter 1-Introductionkkkclll;;;x;lc,.pdf
PPT
Chapter 1-Introduction.ppt
PPTX
Chapter 1-Introduction to distributed system.pptx
PPTX
Lecture03.pptx
Distributed Computing Introduction01.pptx
mnjkhhjggfhjkl;kjhgf hgghgfffd hghzss.pdf
Lecture_1.pptx Introduction Introduction
Distributed Systems.pptx
OS .pptx
- Introduction - Distributed - System -
DISTRIBUTED SYSTEM.docx
Distributed system Tanenbaum chapter 1,2,3,4 notes
Chapter One.ppt
Chapter 1_NG_2020.ppt
Chapter 1 introduction
Distributed Systems for Data Sciene and Analytics
distributed system chapter one introduction to distribued system.pdf
Chapter 1-Introduction.ppt
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Lect 2 Types of Distributed Systems.pptx
chapter 1-Introductionkkkclll;;;x;lc,.pdf
Chapter 1-Introduction.ppt
Chapter 1-Introduction to distributed system.pptx
Lecture03.pptx
Ad

More from Sunita Sahu (8)

PPTX
Writing software requirement document
PPTX
Writing software requirement document
PPTX
RPC: Remote procedure call
PPT
Clock synchronization in distributed system
PPTX
Slowly changing dimension
PPTX
Fact less fact Tables & Aggregate Tables
PPT
Dimensional Modeling
PPT
Attacks in MANET
Writing software requirement document
Writing software requirement document
RPC: Remote procedure call
Clock synchronization in distributed system
Slowly changing dimension
Fact less fact Tables & Aggregate Tables
Dimensional Modeling
Attacks in MANET

Recently uploaded (20)

PPTX
additive manufacturing of ss316l using mig welding
PPTX
Unit 5 BSP.pptxytrrftyyydfyujfttyczcgvcd
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPT
Drone Technology Electronics components_1
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
web development for engineering and engineering
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
MET 305 MODULE 1 KTU 2019 SCHEME 25.pptx
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Fluid Mechanics, Module 3: Basics of Fluid Mechanics
PDF
Digital Logic Computer Design lecture notes
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
additive manufacturing of ss316l using mig welding
Unit 5 BSP.pptxytrrftyyydfyujfttyczcgvcd
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Model Code of Practice - Construction Work - 21102022 .pdf
Strings in CPP - Strings in C++ are sequences of characters used to store and...
Drone Technology Electronics components_1
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
CYBER-CRIMES AND SECURITY A guide to understanding
Internet of Things (IOT) - A guide to understanding
web development for engineering and engineering
OOP with Java - Java Introduction (Basics)
UNIT-1 - COAL BASED THERMAL POWER PLANTS
MET 305 MODULE 1 KTU 2019 SCHEME 25.pptx
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Fluid Mechanics, Module 3: Basics of Fluid Mechanics
Digital Logic Computer Design lecture notes
bas. eng. economics group 4 presentation 1.pptx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx

Introduction to Distributed System

  • 1. INTRODUCTION TO DISTRIBUTED SYSTEMS BY: Sunita Sahu Assistant Professor, VESIT,Mumbai
  • 2. INTRODUCTION TO DISTRIBUTED SYSTEMS `  Definition  Motivation for Distributed system  Architectural Categories  Characteristics, Issues, Goals,  Advantages  Disadvantages
  • 3. DEFINITION  A distributed system is a collection of independent computers, interconnected via a network, capable of collaborating on a task.  A distributed system can be characterized as collection of multiple autonomous computers that communicate over a communication network and having following features:  No common Physical clock  Enhanced Reliability  Increased performance/cost ratio  Access to geographically remote data and resources  Scalability 3
  • 4. DEFINITION CNTD…  Distributed system is a collection of independent entities that cooperate to solve a problem that cannot be solved individually.  So, basically it is nothing but a collection of computers.  DCS do not share a common memory or do not have a common physical clock, and the only way they can communicate is through the message passing and for that they require a communication network
  • 5. Definition of a Distributed System A distributed system is (Tannenbaum): A collection of independent computers that appears to its users as a single coherent system. A distributed system is (Lamport): One in which the failure of a computer you didn't even know existed can render your own computer unusable
  • 6. Overview…  Distributed system connects autonomous processors by communication network.  The software component that run on each of the computers use the local operating system and network protocol stack.  The distributed software is termed as middleware.  The distributed execution is the execution of the processes across the distributed system to collectively achieve a common goal.
  • 7. Motivation for Distributed system  Inherently distributed computation that is many applications such as money transfer in the banking, or reaching a consensus among the parties that are geographically distant, the computation is inherently distributed.  Resource sharing the sharing of the resources such as peripherals, and a complete data set and so on and so forth.  Access the geographically remote data and resources, such as bank database, supercomputer and so on.  Reliability enhanced reliability possibility of replicating the resources and execution to enhance the reliability.
  • 9. Architectural Categories Computer architectures consisting of interconnected, multiple processors are basically of two types: 1). Tightly coupled system 2). Loosely coupled system
  • 10. TIGHTLY COUPLED SYSTEMS In these systems, there is a single system wide primary memory (address space) that is shared by all the processors . Usually tightly coupled systems are referred to as parallel processing systems. CPU CPU System- Wide Shared memory CPU Interconnection hardware CPU
  • 11. LOOSELY COUPLED SYSTEMS  In these systems, the processors do not share memory, and each processor has its own local memory .Loosely coupled systems are referred to as distributed computing systems, or simply distributed systems Local memory CPU Local memory CPU Local memory CPU Local memory CPU Communication network
  • 12. CHARACTERISTICS OF DISTRIBUTED SYSTEM Concurrency No global clock Independent failures More reliable Fault tolerant Scalable
  • 13. EXAMPLES OF DISTRIBUTED SYSTEMS  Database Management System  Automatic Teller Machine Network  Internet/World-Wide Web  Mobile and Ubiquitous Computing 13
  • 18. WEB SERVERS AND WEB BROWSERS 18 Internet Browsers Web servers www.google.com www.uu.se www.w3c.org Protocols Activity.html http://www.w3c.org/Protocols/Activity.html http://www.google.comlsearch?q=lyu http://www.uu.se/ File system of www.w3c.org
  • 19. MOBILE AND UBIQUITOUS COMPUTING 19 Laptop Mobile Printer Camera Internet Host intranet Home intranet GSM/GPRS Wireless LAN phone gateway Host site
  • 20. Distributed System A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface.
  • 21. GOALS:COMMON HARACTERISTICS  Making resources accessible  Openness  Transparency  Security  Scalability  Failure Handling  Concurrency  Heterogeneity
  • 22. Making resources accessible • The main goal of a distributed system is to make it easy for the users (and applications) to access remote resources, and to share them in a controlled and efficient way. • Resources can be just about anything, but typical examples include things like printers, computers, storage facilities, data, files, Web pages, and networks, Reasons to share resources. • Economics.
  • 23. OPENNESS  An open distributed system is a system that offers services according to standard rules that describe the syntax and semantics of those services.  Detailed interfaces of components need to be published.  New components have to be integrated with existing components. An open distributed system should also be extensible.  Differences in data representation of interface types on different processors (of different vendors) have to be resolved. 23
  • 24. TRANSPARENCY  Distributed systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components.  Ability to hide the fact that process and resources are distributed .  Transparency has different aspects.  These represent various properties that distributed systems should have. 24
  • 25. Transparency in a Distributed System
  • 26. ACCESS TRANSPARENCY  Enables local and remote information objects to be accessed using identical operations.  Example: File system operations in NFS.  Example: Navigation in the Web.  Example: SQL Queries 26
  • 27. LOCATION TRANSPARENCY  Enables information objects to be accessed without knowledge of their location.  Example: File system operations in NFS  Example: Pages in the Web  Example: Tables in distributed databases 27
  • 28. CONCURRENCY TRANSPARENCY  Enables several processes to operate concurrently using shared information objects without interference between them.  Example: NFS  Example: Automatic teller machine network  Example: Database management system 28
  • 29. REPLICATION TRANSPARENCY  Enables multiple instances of information objects to be used to increase reliability and performance without knowledge of the replicas by users or application programs  Example: Distributed DBMS  Example: Mirroring Web Pages. 29
  • 30. FAILURE TRANSPARENCY  Enables the concealment of faults  Allows users and applications to complete their tasks despite the failure of other components.  Partial failure transparency is achievable but complete failure transparency is not possible  Example: Database Management System 30
  • 31. MIGRATION TRANSPARENCY  Allows the movement of information objects within a system without affecting the operations of users or application programs  Relocation Transparency:  Situation in which resources can be relocated while they are being accessed without the user or application noticing anything. In such cases, the system is said to support relocation transparency. 31
  • 32. PERFORMANCE TRANSPARENCY  Allows the system to be reconfigured to improve performance as loads vary.  Load should be evenly distributed among all the machines. 32
  • 33. SCALING TRANSPARENCY  Allows the system and applications to expand in scale without change to the system structure or the application algorithms.  Example: World-Wide-Web  Example: Distributed Database 33
  • 34. HETEROGENEITY  Variety and differences in  Networks  Computer hardware  Operating systems  Programming languages  Implementations by different developers 34
  • 35. 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 35
  • 36. 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 36
  • 37. 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. 37
  • 38. SCALABILITY  Scalability of a system can be measured along at least three different dimensions  scalability with respect to size: meaning that we can easily add more users and resources to the system.  geographically scalable :system is one in which the users and resources may lie far apart.  Administratively scalable: meaning that it can still be easy to manage even if it spans many independent administrative organizations.
  • 39. SCALING TECHNIQUES  Hiding communication latencies  Asynchronous communication  Allocate more job to client machine  Distribution  Distribution involves taking a component, splitting it into smaller parts, and subsequently spreading those parts across the system. An excellent example of distribution is the Internet Domain Name System (DNS)  Replicate
  • 40. 4. BASIC DESIGN ISSUES  Specific issues for distributed systems:  Naming  Communication  Software structure  System architecture  Workload allocation  Consistency maintenance 40
  • 41. 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 41
  • 42. 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 42
  • 43. SOFTWARE STRUCTURE  Layers in centralized computer systems: 43 Applications Middleware Operating system Computer and Network Hardware
  • 44. SOFTWARE STRUCTURE  Layers and dependencies in distributed systems: 44 Applications Distributed programming support Open services Open system kernel services Computer and network hardware
  • 45. Challenges • Performance • Concurrency • Failures • Scalability • System updates/growth • Heterogeneity • Openness • Multiplicity of ownership, authority • Security • Quality of service/user experience • Transparency • Debugging
  • 46. ADVANTAGES OF DISTRIBUTED SYSTEM  Information Sharing among Distributed Users  Resource Sharing  Extensibility and Incremental growth  Shorter Response Time and Higher Output  Higher Reliability  Better Flexibility’s in meeting User’s needs  Better price/performance ratio  Scalability  Transparency 7
  • 47. DISADVANTAGES OF DISTRIBUTED SYSTEM  Difficulties of developing distributed software  Networking Problem  Security Problems  Performance  Openness  Reliability and Fault Tolerance 8
  • 48. REFERENCES:  Tanenbaum, Andrew S., and Maarten Van Steen. Distributed systems: principles and paradigms. Prentice-Hall, 2007.  Sinha, Pradeep K. Distributed operating systems: concepts and design. PHI Learning Pvt. Ltd., 1998.  NOC:Distributed Systems,NPTEL