Introduction to Distributed Systems
and Characterisation
Dr. Salima Ben Qdara
2
Content
 Introduction
 Defining Distributed Systems
 Characteristics of Distributed Systems
 Example Distributed Systems
 Challenges of Distributed Systems
 Summary
3
objective
 to cover characteristics of networked/distributed computing
systems and applications
 to present the main concepts and techniques that have been
developed to help in the tasks of designing and implementing
systems and applications that are based on networks.
4
Introduction
The results of computer systems and network systems technologies are not only
possible but easy, to put together a computing system composed of many
networked computers, be they large or small. These computers are generally
geographically dispersed, for which reason they are usually said to form a
distributed system. Distributed systems have changed the face of the world.
Once your web browser connects to a web server somewhere else on the world,
it is participating in what seems to be a simple form of a client/server distributed
system. When contact a modern web service such as Google or Facebook, you
are not just interacting with a single machine, however; behind the scenes, these
complex services are built from thousands of machines, each of which
cooperates to provide the particular service of the site.
5
Introduction
Network
 A computer network consists of two or more computers or other
intelligent devices linked by communication media (e.g., cable
or wireless media) to achieve successful communication.
6
Introduction
TCP/IP Model
7
Introduction
Definitions
 A Distributed System is a collection of independent computers linked by
computer N/W and equipped with distributed system S/W. S/W enable
computers to coordinate their activities to share resources of hardware,
software and data.
 A Distributed System is one in which components located at networked
computers communicate and coordinate their actions only by passing
messages". [Coulouris, 2005]
 A Distributed System is a collection of independent computers that appears
to its users as a single coherent system".[Tanenbaum, 2002]
8
Introduction
Networks vs. Distributed Systems
o Networks: A media for interconnecting local and wide area computers and
exchange messages based on protocols. Network entities are visible and they
are explicitly addressed (IP address).
o Distributed System: existence of multiple autonomous computers is
transparent
o Networks focuses on packets, routing, etc., whereas distributed systems
focus on applications.
o Every distributed system relies on services provided by a computer network.
9
Introduction
Reasons for Distributed Systems
• Functional Separation:
o Existence of computers with different capabilities and purposes:
 Clients and Servers
 Data collection and data processing
• Inherent distribution:
o Information: Different information is created and maintained by different
people (e.g., Web pages)
o People
 Computer -supported collaborative work (virtual teams, engineering,
virtual surgery)
o Retail store and inventory systems for supermarket chains (e.g., Coles,
Woolworths)
10
Introduction
Reasons for Distributed Systems
 Power imbalance and load variation:
 Distribute computational load among different computers.
 Reliability:
 Long term preservation and data backup (replication) at different
locations.
 Economies:
 Sharing a printer by many users and reduce the cost of ownership.
 Building a supercomputer out of a network of computers.
11
Introduction
Distributed System Architecture
• Distributed systems are built up on top of existing networking and operating
systems software.
• A distributed system comprises a collection of independent computers,
linked through a computer network and distribution middleware as shown in
the below figure.
• The middleware enables computers to coordinate their activities and to share
the resources of the system so that users perceive the system as a single,
integrated computing facility.
• middleware is the bridge that connects distributed applications across
dissimilar physical locations, with dissimilar hardware platforms, network
technologies, operating systems, and programming languages
12
Introduction
Distributed System Architecture
13
Introduction
Examples of Distributed Systems
 They (DS) are based on familiar and widely used computer
networks:
 Internet
 Intranets, and
 Wireless networks
14
Introduction
Examples of Distributed Systems
 Example DS and its Applications:
 Web (and many of its applications like Online bookshop)
 Data Centers and Clouds
 Wide area storage systems
 Banking Systems
 User-level communication (Facebook, Zoom)
15
Introduction
Examples of Distributed Systems
Network of workstations
• Personal workstations + processors not assigned to specific users.
• Single file system, with all files accessible from all machines in the
same way and using the same path name.
• For a certain command the system can look for the best place
(workstation) to execute it.
15
16
Examples of Distributed Systems
 The Internet is a vast collection of computer networks of many
different types and hosts various types of services.
Intranet
desktop computer:
backbone
satellite link
server:
%
network link:
%
%
% ISP
17
17
the rest of
email server
Web server
Desktop
computers
File server
router/firew all
print and other servers
other servers
print
Local area
netw ork
email server
the Internet
Examples of Distributed Systems (cont’d)
Intranet is a separately administered DS, that has a boundary between
intra and internet. Intranet can be one small LAN or many interconnected
private sites.
18
18
Examples of Distributed Systems (cont’d)
Portable and handheld devices
Supports continued access to Home intranet resources via wireless and
provision to utilise resources (e.g., printers) that are conveniently located
(location-aware computing).
19
Examples of Distributed Systems (cont’d)
Internet
Browsers
Web servers
www.google.com
www.cdk5.net
www.w3c.org
Protocols
Activity.html
http://www.w3c.org/Protocols/Activity.html
http://www.google.com/search?q=Buyya
http://www.cdk5.net/
File system of
www.w3c.org
Internet
Resource sharing and the Web: open protocols, scalable servers, and pluggable
browsers
20
Introduction
Requirements of Distributed Systems
 Consistency of replicate data: The benefits of data replication are useful only
if there's a consistent copy of the data across all systems. Following a
process for replication helps ensure consistency. Identify the data source and
destination.
 Concurrent Transaction Processing: Several applications or users often need
to share the same data source. This sharing can lead to problems if they try
to access a record concurrently, that is, if they try to process the same data
source record at the same time.
21
Introduction
Requirements of Distributed Systems
 Fault tolerance: Failure of a component (partial failure) should not result in
failure of the whole system
 Security and reliability :Security, which ensures the system is doing the
required job, goes hand in hand with reliability, which ensures the system is
doing its job correctly. Although they come from different ways of looking
at the same problem, they are both dependent on each other.
22
Introduction
Goals of Distributed Systems
2. Transparency:
• It is important for a distributed system to hide the location of its process
and resource. A distributed system that can portray itself as a single
system is said to be transparent.
• The various transparencies need to be considered are access, location,
migration, relocation, replication, concurrency, failure and persistence.
• Aiming for distributed transparency should be considered along with
performance issues.
23
Introduction
Goals of Distributed Systems
2. Transparency:
• It is important for a distributed system to hide the location of its process
and resource. A distributed system that can portray itself as a single
system is said to be transparent.
• The various transparencies need to be considered are access, location,
migration, relocation, replication, concurrency, failure and persistence.
• Aiming for distributed transparency should be considered along with
performance issues.
24
Introduction
Goals of Distributed Systems
3. Openness:
•Openness is an important goal of distributed system in which it offers
services according to standard rules that describe the syntax and semantics
of those services.
•Open distributed system must be flexible making it easy to configure and
add new components without affecting existing components.
•An open distributed system must also be extensible.
25
Introduction
Goals of Distributed Systems
4. Scalable:
Scalability is one of the most important goals which are measured along three
different dimensions.
•First, a system can be scalable with respect to its size which can add more
user and resources to a system.
•Second, users and resources can be geographically apart.
•Third, it is possible to manage even if many administrative organizations
are spanned.
26
Introduction
Challenges of Distributed system
 Heterogeneity
 Heterogeneous components must be able to interoperate
 Distribution transparency
 Distribution should be hidden from the user as much as possible
 Fault tolerance
 Failure of a component (partial failure) should not result in failure of
the whole system
 Scalability
 System should work efficiently with an increasing number of users
 System performance should increase with inclusion of additional
resources
27
Introduction
Challenges of Distributed system
 Concurrency
 Shared access to resources must be possible
 Openness
 Interfaces should be publicly available to ease inclusion of new
components
 Security
 The system should only be used in the way intended
28
Introduction
Advantages of Distributed system
• Reliability, high fault tolerance: A system crash on one server does not affect other
servers.
• Scalability: In distributed computing systems you can add more machines as needed.
• Flexibility: It makes it easy to install, implement and debug new services.
• Fast calculation speed: A distributed computer system can have the computing power
of multiple computers, making it faster than other systems.
• Openness: Since it is an open system, it can be accessed both locally and remotely.
• High performance: Compared to centralized computer network clusters, it can
provide higher performance and better cost performance
29
Introduction
Disadvantages of Distributed System.
• Difficult troubleshooting: Troubleshooting and diagnostics are more difficult due to
distribution across multiple servers.
• Less software support: Less software support is a major drawback of distributed
computer systems.
• High network infrastructure costs: Network basic setup issues, including
transmission, high load, and loss of information.
• Security issues: The characteristics of open systems make data security and
sharing risks in distributed computer systems.
30
Assignment 1
Use the World Wide Web as an example to illustrate the concept of resource sharing,
client and server. What are the advantages and disadvantages of HTML, URLs and
HTTP as core technologies for information browsing?
31
Text book
George Coulouris, Jean Dollimore, Tim Kindberg,
Gordon Blair: "Distributed Systems - Concepts and
Design", Addison Wesley Publ. Comp., 5th edition,
31

- Introduction - Distributed - System -

  • 1.
    Introduction to DistributedSystems and Characterisation Dr. Salima Ben Qdara
  • 2.
    2 Content  Introduction  DefiningDistributed Systems  Characteristics of Distributed Systems  Example Distributed Systems  Challenges of Distributed Systems  Summary
  • 3.
    3 objective  to covercharacteristics of networked/distributed computing systems and applications  to present the main concepts and techniques that have been developed to help in the tasks of designing and implementing systems and applications that are based on networks.
  • 4.
    4 Introduction The results ofcomputer systems and network systems technologies are not only possible but easy, to put together a computing system composed of many networked computers, be they large or small. These computers are generally geographically dispersed, for which reason they are usually said to form a distributed system. Distributed systems have changed the face of the world. Once your web browser connects to a web server somewhere else on the world, it is participating in what seems to be a simple form of a client/server distributed system. When contact a modern web service such as Google or Facebook, you are not just interacting with a single machine, however; behind the scenes, these complex services are built from thousands of machines, each of which cooperates to provide the particular service of the site.
  • 5.
    5 Introduction Network  A computernetwork consists of two or more computers or other intelligent devices linked by communication media (e.g., cable or wireless media) to achieve successful communication.
  • 6.
  • 7.
    7 Introduction Definitions  A DistributedSystem is a collection of independent computers linked by computer N/W and equipped with distributed system S/W. S/W enable computers to coordinate their activities to share resources of hardware, software and data.  A Distributed System is one in which components located at networked computers communicate and coordinate their actions only by passing messages". [Coulouris, 2005]  A Distributed System is a collection of independent computers that appears to its users as a single coherent system".[Tanenbaum, 2002]
  • 8.
    8 Introduction Networks vs. DistributedSystems o Networks: A media for interconnecting local and wide area computers and exchange messages based on protocols. Network entities are visible and they are explicitly addressed (IP address). o Distributed System: existence of multiple autonomous computers is transparent o Networks focuses on packets, routing, etc., whereas distributed systems focus on applications. o Every distributed system relies on services provided by a computer network.
  • 9.
    9 Introduction Reasons for DistributedSystems • Functional Separation: o Existence of computers with different capabilities and purposes:  Clients and Servers  Data collection and data processing • Inherent distribution: o Information: Different information is created and maintained by different people (e.g., Web pages) o People  Computer -supported collaborative work (virtual teams, engineering, virtual surgery) o Retail store and inventory systems for supermarket chains (e.g., Coles, Woolworths)
  • 10.
    10 Introduction Reasons for DistributedSystems  Power imbalance and load variation:  Distribute computational load among different computers.  Reliability:  Long term preservation and data backup (replication) at different locations.  Economies:  Sharing a printer by many users and reduce the cost of ownership.  Building a supercomputer out of a network of computers.
  • 11.
    11 Introduction Distributed System Architecture •Distributed systems are built up on top of existing networking and operating systems software. • A distributed system comprises a collection of independent computers, linked through a computer network and distribution middleware as shown in the below figure. • The middleware enables computers to coordinate their activities and to share the resources of the system so that users perceive the system as a single, integrated computing facility. • middleware is the bridge that connects distributed applications across dissimilar physical locations, with dissimilar hardware platforms, network technologies, operating systems, and programming languages
  • 12.
  • 13.
    13 Introduction Examples of DistributedSystems  They (DS) are based on familiar and widely used computer networks:  Internet  Intranets, and  Wireless networks
  • 14.
    14 Introduction Examples of DistributedSystems  Example DS and its Applications:  Web (and many of its applications like Online bookshop)  Data Centers and Clouds  Wide area storage systems  Banking Systems  User-level communication (Facebook, Zoom)
  • 15.
    15 Introduction Examples of DistributedSystems Network of workstations • Personal workstations + processors not assigned to specific users. • Single file system, with all files accessible from all machines in the same way and using the same path name. • For a certain command the system can look for the best place (workstation) to execute it. 15
  • 16.
    16 Examples of DistributedSystems  The Internet is a vast collection of computer networks of many different types and hosts various types of services. Intranet desktop computer: backbone satellite link server: % network link: % % % ISP
  • 17.
    17 17 the rest of emailserver Web server Desktop computers File server router/firew all print and other servers other servers print Local area netw ork email server the Internet Examples of Distributed Systems (cont’d) Intranet is a separately administered DS, that has a boundary between intra and internet. Intranet can be one small LAN or many interconnected private sites.
  • 18.
    18 18 Examples of DistributedSystems (cont’d) Portable and handheld devices Supports continued access to Home intranet resources via wireless and provision to utilise resources (e.g., printers) that are conveniently located (location-aware computing).
  • 19.
    19 Examples of DistributedSystems (cont’d) Internet Browsers Web servers www.google.com www.cdk5.net www.w3c.org Protocols Activity.html http://www.w3c.org/Protocols/Activity.html http://www.google.com/search?q=Buyya http://www.cdk5.net/ File system of www.w3c.org Internet Resource sharing and the Web: open protocols, scalable servers, and pluggable browsers
  • 20.
    20 Introduction Requirements of DistributedSystems  Consistency of replicate data: The benefits of data replication are useful only if there's a consistent copy of the data across all systems. Following a process for replication helps ensure consistency. Identify the data source and destination.  Concurrent Transaction Processing: Several applications or users often need to share the same data source. This sharing can lead to problems if they try to access a record concurrently, that is, if they try to process the same data source record at the same time.
  • 21.
    21 Introduction Requirements of DistributedSystems  Fault tolerance: Failure of a component (partial failure) should not result in failure of the whole system  Security and reliability :Security, which ensures the system is doing the required job, goes hand in hand with reliability, which ensures the system is doing its job correctly. Although they come from different ways of looking at the same problem, they are both dependent on each other.
  • 22.
    22 Introduction Goals of DistributedSystems 2. Transparency: • It is important for a distributed system to hide the location of its process and resource. A distributed system that can portray itself as a single system is said to be transparent. • The various transparencies need to be considered are access, location, migration, relocation, replication, concurrency, failure and persistence. • Aiming for distributed transparency should be considered along with performance issues.
  • 23.
    23 Introduction Goals of DistributedSystems 2. Transparency: • It is important for a distributed system to hide the location of its process and resource. A distributed system that can portray itself as a single system is said to be transparent. • The various transparencies need to be considered are access, location, migration, relocation, replication, concurrency, failure and persistence. • Aiming for distributed transparency should be considered along with performance issues.
  • 24.
    24 Introduction Goals of DistributedSystems 3. Openness: •Openness is an important goal of distributed system in which it offers services according to standard rules that describe the syntax and semantics of those services. •Open distributed system must be flexible making it easy to configure and add new components without affecting existing components. •An open distributed system must also be extensible.
  • 25.
    25 Introduction Goals of DistributedSystems 4. Scalable: Scalability is one of the most important goals which are measured along three different dimensions. •First, a system can be scalable with respect to its size which can add more user and resources to a system. •Second, users and resources can be geographically apart. •Third, it is possible to manage even if many administrative organizations are spanned.
  • 26.
    26 Introduction Challenges of Distributedsystem  Heterogeneity  Heterogeneous components must be able to interoperate  Distribution transparency  Distribution should be hidden from the user as much as possible  Fault tolerance  Failure of a component (partial failure) should not result in failure of the whole system  Scalability  System should work efficiently with an increasing number of users  System performance should increase with inclusion of additional resources
  • 27.
    27 Introduction Challenges of Distributedsystem  Concurrency  Shared access to resources must be possible  Openness  Interfaces should be publicly available to ease inclusion of new components  Security  The system should only be used in the way intended
  • 28.
    28 Introduction Advantages of Distributedsystem • Reliability, high fault tolerance: A system crash on one server does not affect other servers. • Scalability: In distributed computing systems you can add more machines as needed. • Flexibility: It makes it easy to install, implement and debug new services. • Fast calculation speed: A distributed computer system can have the computing power of multiple computers, making it faster than other systems. • Openness: Since it is an open system, it can be accessed both locally and remotely. • High performance: Compared to centralized computer network clusters, it can provide higher performance and better cost performance
  • 29.
    29 Introduction Disadvantages of DistributedSystem. • Difficult troubleshooting: Troubleshooting and diagnostics are more difficult due to distribution across multiple servers. • Less software support: Less software support is a major drawback of distributed computer systems. • High network infrastructure costs: Network basic setup issues, including transmission, high load, and loss of information. • Security issues: The characteristics of open systems make data security and sharing risks in distributed computer systems.
  • 30.
    30 Assignment 1 Use theWorld Wide Web as an example to illustrate the concept of resource sharing, client and server. What are the advantages and disadvantages of HTML, URLs and HTTP as core technologies for information browsing?
  • 31.
    31 Text book George Coulouris,Jean Dollimore, Tim Kindberg, Gordon Blair: "Distributed Systems - Concepts and Design", Addison Wesley Publ. Comp., 5th edition, 31