distributed system chapter one introduction to distribued system
Your score increases as you pick a category, fill out a long description and add more tags distributed system chapter one introduction to distribued system distributed system chapter one introduction to distribued system distributed system chapter one introduction to distribued system
This document provides an overview of distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. Key characteristics include hiding differences between computers and providing consistent, uniform interaction regardless of location or time. The main goals of distributed systems are making resources accessible, achieving distribution transparency, being open and scalable. Techniques for improving scalability include hiding communication latencies, distribution, and replication. Challenges include lack of global state information and handling slow/failed nodes.
A distributed system is a collection of independent computers that appears to its users as a single coherent system. Key characteristics include no shared memory, each computer runs its own local OS, and heterogeneity. Distributed systems aim to present a single-system image to hide the underlying hardware complexity and provide transparency. Middleware plays an important role in enabling communication and resource sharing across networked computers in a distributed system.
The document defines a distributed system and provides examples. It outlines the challenges in designing distributed systems, including heterogeneity, openness, security, scalability, failure handling, concurrency, and transparency. Distributed systems divide tasks across networked computers and aim to appear as a single computer to users.
Lect 2 Types of Distributed Systems.pptxPardonSamson
油
This document discusses different types of distributed systems including distributed computing systems and distributed information systems. Distributed computing systems are used for high-performance computing tasks and include cluster computing, where similar computers are connected by a network, and grid computing, where heterogeneous systems from different domains are connected. Distributed information systems allow data sharing across networked computers. The document also covers advantages and disadvantages as well as design issues of distributed systems such as transparency, reliability, performance, and security.
Working of Distributed System, Architectural Design Patterns ,
Types of Distributed Systems
Client-server systems:油
The most traditional and simple type of distributed system, involves a multitude of networked computers that interact with a central server for data storage, processing, or other common goal.
Peer-to-peer networks:油
They distribute workloads among hundreds or thousands of computers all running the same software.
Cell phone networks: 油It is an advanced distributed system, sharing workloads among handsets, switching systems, and internet-based devices.
Content for distributed system and advanced operating system for Computer Science and Engineering and
Information Technology
"Design Issues of Distributed System"
Distributed computing involves a collection of independent computers that appear as a single coherent system to users. It allows for pooling of resources and increased reliability through replication. Key aspects of distributed systems include hiding the distribution from users, providing a consistent interface, scalability, and fault tolerance. Common examples are web search, online games, and financial trading systems. Distributed computing is used for tasks like high-performance computing through cluster and grid computing.
A distributed system is a collection of independent computers that appears as a single coherent system to users. It provides advantages like cost-effectiveness, reliability, scalability, and flexibility but introduces challenges in achieving transparency, dependability, performance, and flexibility due to its distributed nature. A true distributed system that solves all these challenges perfectly is difficult to achieve due to limitations like network complexity and security issues.
Distributed computing is a system where the components of a computer program are distributed and run across multiple computers that communicate over a network. It involves splitting tasks between participants to solve problems faster. Key advantages include reliability through redundancy, scalability by adding more systems, and faster computation through parallel processing. However, distributed systems also present challenges like more difficult troubleshooting, less software support, and higher costs for network infrastructure.
This document provides an overview of distributed systems, including definitions, important aspects, examples, characteristics, goals, architectures, and techniques for scaling distributed systems. A distributed system is defined as a collection of independent computers that appears as a single coherent system to users. Key goals of distributed systems are making resources accessible, hiding the distribution of resources from users, being open through standard interfaces, and being scalable to additional users and resources.
This document discusses the concepts of distributed systems and virtualization, including definitions of distributed systems, their characteristics and advantages/disadvantages. Key aspects covered include how distributed systems allow sharing of hardware, software and data resources across networked computers, as well as common applications and examples of distributed systems in areas like finance, information services and cloud technologies.
chapter 1- introduction to distributed system.pptAschalewAyele2
油
This document provides an introduction to distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. The goals of distributed systems are discussed, including resource accessibility, distribution transparency, openness, and scalability. Various types of distributed systems are also outlined, such as distributed computing systems like clusters, grids and clouds, distributed information systems like transaction processing and enterprise application integration, and distributed embedded systems like home, healthcare and sensor networks. Key techniques for improving scalability like hiding communication delays, distribution, and replication are also summarized.
- Introduction - Distributed - System -ssuser7c150a
油
The document provides an introduction to distributed systems, including defining their key characteristics and challenges. It discusses how distributed systems allow independent computers to coordinate activities and share resources over a network. Examples of distributed systems include the internet, intranets, cloud computing systems, and wireless networks. The main goals of distributed systems are transparency, openness, and scalability, while the key challenges are heterogeneity, distribution transparency, fault tolerance, and security.
The document provides an introduction to distributed systems, including definitions, goals, and characteristics. It discusses key problems in distributed systems like concurrency, security, and partial failures. Some techniques for achieving scalability are also covered, such as hiding communication latencies, offloading work to clients, distributing data and computations, and replicating/caching data across multiple machines. The overall goals of distributed systems are to share resources, provide distribution transparency, support openness, and achieve scalability.
The document provides an introduction to distributed systems, defining them as a collection of independent computers that communicate over a network to act as a single coherent system. It discusses the motivation for and characteristics of distributed systems, including concurrency, lack of a global clock, and independent failures. Architectural categories of distributed systems include tightly and loosely coupled, with examples given of different types of distributed systems such as database management systems, ATM networks, and the internet.
The document provides an introduction to distributed systems, defining them as a collection of independent computers that communicate over a network to act as a single coherent system. It discusses the motivation for and characteristics of distributed systems, including concurrency, lack of a global clock, and independence of failures. Architectural categories of distributed systems include tightly coupled and loosely coupled, with examples given of different types of distributed systems such as database management systems, ATM networks, and the internet.
The document provides an introduction to distributed systems, including definitions, goals, types, and challenges. It defines a distributed system as a collection of independent computers that appear as a single system to users. Distributed systems aim to share resources and data across multiple computers for availability, reliability, scalability, and performance. There are three main types: distributed computing systems, distributed information systems, and distributed pervasive systems. Developing distributed systems faces challenges around concurrency, security, partial failures, and heterogeneity.
This document discusses distributed operating systems. A distributed OS connects multiple computers via communication channels to distribute processing jobs between central processors. It consists of nodes joined by networks that enable sharing of computing resources and files while providing users with virtual machines. The document describes types of distributed OS like client-server and peer-to-peer, and features like openness, resource sharing, transparency, and flexibility. Examples of distributed OS mentioned are Solaris, OSF/1, Micros, and DYNIX.
A distributed system is a collection of independent computers that appears to users as a single coherent system. Key properties of distributed systems include transparency, where differences between computers are hidden from users, coherency in providing consistent interaction regardless of location or time, and scalability to expand the system size and resources. Distributed systems aim to be reliable, remaining continuously available despite potential failures of individual components.
The document introduces distributed systems, defining them as collections of independent computers that appear as a single system to users, discusses the goals of transparency, openness, and scalability in distributed systems, and describes three main types - distributed computing systems for tasks like clustering and grids, distributed information systems for integrating applications, and distributed pervasive systems for mobile and embedded devices.
distrbuted system chapter one .DS .pptxayoupalthman
油
This document provides an introduction to distributed systems. It defines a distributed system as a collection of independent components located on different machines that share messages to achieve common goals. The key points are:
- Distributed systems allow resources and information to be shared across multiple machines to maximize resources and prevent single point of failures.
- Nodes can easily share data and more nodes can be added as required, improving scalability. Failure of one node does not cause full system failure.
- Middleware enables communication and data management between the operating system and distributed applications.
- The main goals of distributed systems are connecting users to remote resources in a controlled way, hiding the location of processes and resources from users, and being flexible and
The document discusses the history and goals of distributed systems. It begins by describing how computers evolved from large centralized mainframes in the 1940s-1980s, to networked systems in the mid-1980s enabled by microprocessors and computer networks. The key goals of distributed systems are to make resources accessible across a network, hide the distributed nature of resources to provide transparency, remain open to new services, and scale effectively with increased users and resources. Examples of distributed systems include the internet, intranets, and worldwide web.
Analysis of Conf File Parameters in Odoo 17Celine George
油
In this slide, we will analyse the configuration file parameters in Odoo 17. The odoo.conf file plays a pivotal role in configuring and managing the Odoo 17 server. It contains essential parameters that control database connections, server behaviour, logging, and performance settings.
This presentation was provided by Jack McElaney of Microassist during the initial session of the NISO training series "Accessibility Essentials." Session One: The Introductory Seminar was held April 3, 2025.
More Related Content
Similar to distributed system chapter one introduction to distribued system.pdf (20)
Distributed computing involves a collection of independent computers that appear as a single coherent system to users. It allows for pooling of resources and increased reliability through replication. Key aspects of distributed systems include hiding the distribution from users, providing a consistent interface, scalability, and fault tolerance. Common examples are web search, online games, and financial trading systems. Distributed computing is used for tasks like high-performance computing through cluster and grid computing.
A distributed system is a collection of independent computers that appears as a single coherent system to users. It provides advantages like cost-effectiveness, reliability, scalability, and flexibility but introduces challenges in achieving transparency, dependability, performance, and flexibility due to its distributed nature. A true distributed system that solves all these challenges perfectly is difficult to achieve due to limitations like network complexity and security issues.
Distributed computing is a system where the components of a computer program are distributed and run across multiple computers that communicate over a network. It involves splitting tasks between participants to solve problems faster. Key advantages include reliability through redundancy, scalability by adding more systems, and faster computation through parallel processing. However, distributed systems also present challenges like more difficult troubleshooting, less software support, and higher costs for network infrastructure.
This document provides an overview of distributed systems, including definitions, important aspects, examples, characteristics, goals, architectures, and techniques for scaling distributed systems. A distributed system is defined as a collection of independent computers that appears as a single coherent system to users. Key goals of distributed systems are making resources accessible, hiding the distribution of resources from users, being open through standard interfaces, and being scalable to additional users and resources.
This document discusses the concepts of distributed systems and virtualization, including definitions of distributed systems, their characteristics and advantages/disadvantages. Key aspects covered include how distributed systems allow sharing of hardware, software and data resources across networked computers, as well as common applications and examples of distributed systems in areas like finance, information services and cloud technologies.
chapter 1- introduction to distributed system.pptAschalewAyele2
油
This document provides an introduction to distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. The goals of distributed systems are discussed, including resource accessibility, distribution transparency, openness, and scalability. Various types of distributed systems are also outlined, such as distributed computing systems like clusters, grids and clouds, distributed information systems like transaction processing and enterprise application integration, and distributed embedded systems like home, healthcare and sensor networks. Key techniques for improving scalability like hiding communication delays, distribution, and replication are also summarized.
- Introduction - Distributed - System -ssuser7c150a
油
The document provides an introduction to distributed systems, including defining their key characteristics and challenges. It discusses how distributed systems allow independent computers to coordinate activities and share resources over a network. Examples of distributed systems include the internet, intranets, cloud computing systems, and wireless networks. The main goals of distributed systems are transparency, openness, and scalability, while the key challenges are heterogeneity, distribution transparency, fault tolerance, and security.
The document provides an introduction to distributed systems, including definitions, goals, and characteristics. It discusses key problems in distributed systems like concurrency, security, and partial failures. Some techniques for achieving scalability are also covered, such as hiding communication latencies, offloading work to clients, distributing data and computations, and replicating/caching data across multiple machines. The overall goals of distributed systems are to share resources, provide distribution transparency, support openness, and achieve scalability.
The document provides an introduction to distributed systems, defining them as a collection of independent computers that communicate over a network to act as a single coherent system. It discusses the motivation for and characteristics of distributed systems, including concurrency, lack of a global clock, and independent failures. Architectural categories of distributed systems include tightly and loosely coupled, with examples given of different types of distributed systems such as database management systems, ATM networks, and the internet.
The document provides an introduction to distributed systems, defining them as a collection of independent computers that communicate over a network to act as a single coherent system. It discusses the motivation for and characteristics of distributed systems, including concurrency, lack of a global clock, and independence of failures. Architectural categories of distributed systems include tightly coupled and loosely coupled, with examples given of different types of distributed systems such as database management systems, ATM networks, and the internet.
The document provides an introduction to distributed systems, including definitions, goals, types, and challenges. It defines a distributed system as a collection of independent computers that appear as a single system to users. Distributed systems aim to share resources and data across multiple computers for availability, reliability, scalability, and performance. There are three main types: distributed computing systems, distributed information systems, and distributed pervasive systems. Developing distributed systems faces challenges around concurrency, security, partial failures, and heterogeneity.
This document discusses distributed operating systems. A distributed OS connects multiple computers via communication channels to distribute processing jobs between central processors. It consists of nodes joined by networks that enable sharing of computing resources and files while providing users with virtual machines. The document describes types of distributed OS like client-server and peer-to-peer, and features like openness, resource sharing, transparency, and flexibility. Examples of distributed OS mentioned are Solaris, OSF/1, Micros, and DYNIX.
A distributed system is a collection of independent computers that appears to users as a single coherent system. Key properties of distributed systems include transparency, where differences between computers are hidden from users, coherency in providing consistent interaction regardless of location or time, and scalability to expand the system size and resources. Distributed systems aim to be reliable, remaining continuously available despite potential failures of individual components.
The document introduces distributed systems, defining them as collections of independent computers that appear as a single system to users, discusses the goals of transparency, openness, and scalability in distributed systems, and describes three main types - distributed computing systems for tasks like clustering and grids, distributed information systems for integrating applications, and distributed pervasive systems for mobile and embedded devices.
distrbuted system chapter one .DS .pptxayoupalthman
油
This document provides an introduction to distributed systems. It defines a distributed system as a collection of independent components located on different machines that share messages to achieve common goals. The key points are:
- Distributed systems allow resources and information to be shared across multiple machines to maximize resources and prevent single point of failures.
- Nodes can easily share data and more nodes can be added as required, improving scalability. Failure of one node does not cause full system failure.
- Middleware enables communication and data management between the operating system and distributed applications.
- The main goals of distributed systems are connecting users to remote resources in a controlled way, hiding the location of processes and resources from users, and being flexible and
The document discusses the history and goals of distributed systems. It begins by describing how computers evolved from large centralized mainframes in the 1940s-1980s, to networked systems in the mid-1980s enabled by microprocessors and computer networks. The key goals of distributed systems are to make resources accessible across a network, hide the distributed nature of resources to provide transparency, remain open to new services, and scale effectively with increased users and resources. Examples of distributed systems include the internet, intranets, and worldwide web.
Analysis of Conf File Parameters in Odoo 17Celine George
油
In this slide, we will analyse the configuration file parameters in Odoo 17. The odoo.conf file plays a pivotal role in configuring and managing the Odoo 17 server. It contains essential parameters that control database connections, server behaviour, logging, and performance settings.
This presentation was provided by Jack McElaney of Microassist during the initial session of the NISO training series "Accessibility Essentials." Session One: The Introductory Seminar was held April 3, 2025.
How to Install Odoo 18 with Pycharm - Odoo 18 際際滷sCeline George
油
In this slide well discuss the installation of odoo 18 with pycharm. Odoo 18 is a powerful business management software known for its enhanced features and ability to streamline operations. Built with Python 3.10+ for the backend and PostgreSQL as its database, it provides a reliable and efficient system.
Managing Online Signature and Payment with Odoo 17Celine George
油
Odoo Digital Signature is a feature that allows users to sign documents electronically within the Odoo platform. This functionality streamlines workflows by enabling the creation, distribution, and signing of documents digitally, reducing the need for physical paperwork and speeding up processes.
General Quiz at ChakraView 2025 | Amlan Sarkar | Ashoka Univeristy | Prelims ...Amlan Sarkar
油
Prelims (with answers) + Finals of a general quiz originally conducted on 9th February, 2025.
This was the closing quiz of the 2025 edition of ChakraView - the annual quiz fest of Ashoka University.
Feedback welcome at amlansarkr@gmail.com
Measles OutbreakSouthwestern US This briefing reviews the current situation surrounding the measles outbreaks in Texas, New Mexico, Oklahoma, and Kansas.
Recruitment in the Odoo 17 - Odoo 17 際際滷sCeline George
油
It is a sad fact that finding qualified candidates for open positions has grown to be a challenging endeavor for an organization's human resource management. In Odoo, we can manage this easily by using the recruitment module
CLEFT LIP AND PALATE: NURSING MANAGEMENT.pptxPRADEEP ABOTHU
油
Cleft lip, also known as cheiloschisis, is a congenital deformity characterized by a split or opening in the upper lip due to the failure of fusion of the maxillary processes. Cleft lip can be unilateral or bilateral and may occur along with cleft palate. Cleft palate, also known as palatoschisis, is a congenital condition characterized by an opening in the roof of the mouth caused by the failure of fusion of the palatine processes. This condition can involve the hard palate, soft palate, or both.
This presentation was provided by Lettie Conrad of LibLynx and San Jos辿 University during the initial session of the NISO training series "Accessibility Essentials." Session One: The Introductory Seminar was held April 3, 2025.
General Quiz at Maharaja Agrasen College | Amlan Sarkar | Prelims with Answer...Amlan Sarkar
油
Prelims (with answers) + Finals of a general quiz originally conducted on 13th November, 2024.
Part of The Maharaja Quiz - the Annual Quiz Fest of Maharaja Agrasen College, University of Delhi.
Feedback welcome at amlansarkr@gmail.com
How to Setup Company Data in Odoo 17 Accounting AppCeline George
油
The Accounting module in Odoo 17 is a comprehensive tool designed to manage all financial aspects of a business. It provides a range of features that help with everything from day-to-day bookkeeping to advanced financial analysis.
General College Quiz conducted by Pragya the Official Quiz Club of the University of Engineering and Management Kolkata in collaboration with Ecstasia the official cultural fest of the University of Engineering and Management Kolkata.
The basics of sentences session 9pptx.pptxheathfieldcps1
油
distributed system chapter one introduction to distribued system.pdf
1. Lecturer: Yetmwork Tesfaye
MSc. in Computer Science and Engineering
College of Computing and Informatics
Department of Computer Science
Chapter 1: Introduction to Distributed System
2. Objectives
At the end of this Chapter Students be able to know:-
Introduction of Distributed system
Examples of Distributed system
Characteristics of Distributed system
Advantage of Distributed system
Dis Advantage of Distributed system
Attribute of Distributed system
Goals of Distributed system
Types of Distributed system
3. What is Distributed System?
Distributed system - A collection of independent computers that
appears to its users as a single coherent system.
This definition has two aspects:
1. hardware: autonomous machines
2. software: a single system view for the users
4. What is Distributed System?
It is a collection of autonomous independent computers, connected
through a network and distributed middleware which enables
computers to co-ordinate their activities (by passing messages) and
to share the resources of the system, so the users perceive the
system as a single coherent computing facility.
5. What is Distributed System?
A distributed system is a system designed to support the
development of applications and services which can exploit a
physical architecture consisting of multiple, autonomous processing
elements that do not share primary memory but cooperate by
sending asynchronous messages over a communication network
(Blair & Stefani)
A distributed system is one that stops you getting any work done
when a machine youve never even heard of crashes (Leslie)
6. Example of Distributed System
Airline reservation system
Electronic banking
Automatic processing of orders
Distributed real-time systems
Distributed multimedia systems such as video-conferencing...
WWW
7. Why Distributed System?
Resource and Data Sharing
printers, databases, multimedia servers, ...
Availability, Reliability
the loss of some instances can be hidden
Scalability, Extensibility
the system grows with demand (e.g., extra servers)
Performance
huge power (CPU, memory, ...) available
Inherent distribution, communication
organizational distribution, e-mail, video
8. Characteristics of Distributed System
Differences between the computers and the ways they
communicate are hidden from users
Users and applications can interact with a distributed system in
a consistent and uniform way regardless of location
Distributed systems should be easy to expand and scale
A distributed system is normally continuously available, even
if there may be partial failures
9. Advantage of Distributed System
Performance: Very often a collection of processors can
provide higher performance (and better price/performance
ratio) than a centralized computer.
Distribution: many applications involve, by their nature,
spatially separated machines (banking, commercial,
automotive system).
Reliability (fault tolerance): if some of the machines crash,
the system can survive.
10. Advantage of Distributed System
Incremental growth: as requirements on processing power
grow, new machines can be added incrementally.
Sharing of data/resources: shared data is essential to many
applications (banking, computer supported cooperative work,
reservation systems); other resources can be also shared (e.g.
expensive printers).
Communication: facilitates human-to-human communication.
11. Dis-Advantage of Distributed System
Difficulties of developing distributed software: how should
operating systems, programming languages and applications look
like?
Networking problems: several problems are created by the
network infrastructure, which have to be dealt with: loss of
messages, overloading,
Security problems: sharing generates the problem of data
security.
12. Attributes of Distributed Systems
Performance
Scalability
Connectivity
Security
Reliability
Fault tolerance
13. Performance and Scalability
Centralized system
A single server handles all user requests
Distributed system
User requests can be sent to different servers
working in parallel to increase performance
Scalability
Allows a distributed system to grow (i.e., add
more machines to the system) without affecting
the existing applications and users
14. Connectivity and Security
Distributed systems
Susceptible to attacks by malicious users if they
rely on insecure communications media
To improve security:
Allow only authorized users to access resources
Ensure that information transmitted over the
network is readable only by the intended
recipients
Provide mechanisms to protect resources from
attack
15. Reliability and Fault Tolerance
Fault tolerance
Implemented by providing replication of
resources across the system
Replication
Offers users increased reliability and availability
over single-machine implementations
Designers must provide mechanisms to ensure
consistency among the state information at
different machines
16. Goals of a Distributed System
Accessibility: A distributed system should easily
connect users to resources.
Groupware is software for collaborative editing,
teleconferencing, and so on.
Transparency: It should hide the fact that resources
are distributed across a network.
Openness: It should be open.
An open distributed system is a system that offers
services according to standard rules that describe
the syntax and semantics of those services.
Scalability: It should be scalable.
17. Transparency in a Distributed System
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 that were identified by
ANSA (Advanced Network Systems Architecture).
These represent properties that a well-designed distributed
systems should have
They are dimensions against which we measure middleware
components.
18. Transparency in a Distributed System
Transparency Description
Access
Hide differences in data representation and
how a resource is accessed (file naming..)
Location
Hide where a resource is physically
located.
Migration
Hide that a resource may move to another
location
Different forms of transparency in a distributed system.
19. Relocation
Hide that a resource may be moved to
another location while in use.
Replication Hide that a resource is replicated
Concurrency
Hide that a resource may be shared by
several competitive users; a resource
must be left in a consistent state.
Failure
Hide the failure and recovery of a
resource
Persistence
Hide whether a (software) resource is in
memory or on disk
Transparency in a Distributed System
20. Access Transparency
Enables local and remote information objects to be accessed
using identical operations, that is, the interface to a service
request is the same for communication between components
on the same host and components on different hosts.
Example: File system operations in Unix Network File
System (NFS).
A component whose access is not transparent cannot easily be
moved from one host to the other. All other components that
request services would first have to be changed to use a
different interface.
21. Location Transparency
Enables information objects to be accessed without
knowledge of their physical location.
Example1: Pages in the Web.
Example2: When an NFS administrator moves a
partition, for instance because a disk is full, application
programs accessing files in that partition would have to
be changed if file location is not transparent for them.
22. Migration Transparency
Allows the movement of information objects within
a system without affecting the operations of users or
application programs.
It is useful, as it sometimes becomes necessary to
move a component from one host to another (e.g.,
due to an overload of the host or to a replacement of
the host hardware).
Without migration transparency, a distributed system
becomes very inflexible as components are tied to
particular machines and moving them requires
changes in other components.
23. 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.
Example1: Distributed DBMS.
Example2: Mirroring Web Pages.
24. Concurrency Transparency
Enables several processes to operate concurrently using
shared information objects without interference between
them. Neither user nor application engineers have to see
how concurrency is controlled.
Example1: Bank applications.
Example2: Database management system.
25. Scalability Transparency
Allows the system and applications to expand in scale
without change to the system structure or the application
algorithms.
How system behaves with more components Similar to
performance Transparency, i.e QoS provided by
applications.
Example1: World-Wide-Web.
Example2: Distributed Database.
26. Performance Transparency
Allows the system to be reconfigured to improve
performance as loads vary.
Consider how efficiently the system uses resources.
Relies on Migration and Replication transparency
Load Balancing.
Difficult to achieve because of dynamism
27. Failure Transparency
Enables to hide errors!
Components can be designed without taking into account
that services they rely on might fail.
Server components can recover from failures without the
server designer taking measures for such recovery.
Allows users and applications to complete their tasks
despite the failure of other components.
Its achievement is supported by both concurrency and
replication transparency.
29. Openness Problems
In distributed systems, services are generally specified
through interfaces, which are described in an Interface
Definition Language (IDL).
Interoperability: characterizes the extent by which two
implementations of systems or components from
different manufactures can co-exist and work together
by merely relying on each others services as specified
by a common standard.
Example: Mobile phones
Portability: characterizes to what extent an application
developed for a distributed system A can be executed,
without modification, on a different system B that
implements the same interface as A.
Example: Java
Flexibility: means that it should be easy to configure
the system out of different components possibly from
different developers.
30. Scalability Problems
Scalability of a system can be measured in three
dimensions:
Size: adding more users and resources to the
system
Geographically scalable: users and resources may
be far apart.
Administratively scalable: easy to manage even if
its spans many independent administrative
organizations.
31. Scalability Problems with respect to
Size
Scalability of a system can be measured in three
dimensions: If more users or resources need to be
added , we often confronted with limitations of
centralized services, data and algorithm.
Example: if a single server is installed on a
specific machine and if we add more No. of users
(Apps.) that access this server, the server become
bottleneck.
Some times using a single server is an avoidable for
security reasons.
32. Scalability Problems
Examples of scalability limitations.
Concept Example
Centralized services A single server for all users
Centralized data A single on-line telephone book
Centralized
algorithms
Doing routing based on complete
information
33. Scalability Problems
Decentralized algorithms have the following
characteristics:
No machine has complete information about the
system state.
Machines make decisions based only on local
information.
Failure of one machine does not ruin the algorithm.
There is no implicit assumption that a global clock
exists.
34. Scaling Techniques
In most cases, scalability problems in DS appear as
Performance problems caused by limited capacity of
servers and network.
There are basically three techniques for scaling:
1) Hiding communication latencies,
2) Distribution, and
3) Replication.
35. Scaling Techniques
1. Hide Communication Latencies
Try to avoid waiting for responses to remote service requests
Let the requester do other useful job
i.e., construct requesting applications that use only
asynchronous communication instead of synchronous
communication; when a reply arrives the application is
interrupted
Good for batch processing and parallel applications but not for
interactive applications
For interactive applications, move part of the job to the client
to reduce communication; e.g. filling a form and checking the
entries
36. Scaling Techniques
1.4
The difference between letting (reduce the server workload):
a) a server or
b) a client check forms as they are being filled
Example: Java applets
Generally applying Asynchronous communication
37. Scaling Techniques
2. Distribution
E.g., DNS - Domain Name System (mlibsie@cs.aau.edu.et)
Divide the name space into non-overlapping zones
for details, see later in Chapter 5 - Naming
39. Scaling Techniques
3. Replication
Replicate components across a distributed system to increase
availability and for load balancing, leading to better
performance
Decided by the owner of a resource
Caching (a special form of replication) also reduces
communication latency; decided by the user
But, caching and replication may lead to consistency problems.
41. Pitfalls when Developing DSs
False assumptions made by first time developers
The network is reliable
The network is secure
The network is homogeneous
The topology does not change
Latency is zero
Bandwidth is infinite
Transport cost is zero
There is one administrator
42. Types of DSs
Three Types
1. Distributed Computing Systems
2. Distributed Information Systems
3. Pervasive Systems (Distributed Embedded Systems)
43. Distributed Computing Systems
It refer to networks of interconnected computers or nodes that
collaborate to achieve a common computational task or goal.
These systems distribute the workload across multiple machines,
often geographically dispersed, to improve performance, scalability,
and fault tolerance.
Characteristics:
Decentralization: No single point of control or failure.
Resource Sharing: Sharing of computational resources such as
processing power, memory, and storage.
Communication: Nodes communicate with each other to
coordinate tasks and exchange data.
Scalability: Ability to scale horizontally by adding more nodes
to the network.
Examples: Google File System (GFS).
44. Distributed Computing Systems
Types of Distributed Computing System
Cluster Computing: the underlying hardware consists of a
collection of similar workstations or PCs, closely connected by
means of a high-speed local-area network. In addition, each
node runs the same operating system.
Grid Computing: often constructed as a federation of computer
systems, where each system may fall under a different
administrative domain, and may be very different when it
comes to hardware, software, and deployed network
technology.
45. Distributed Computing Systems
From the perspective of grid computing, a next logical step is
to simply outsource the entire infrastructure that is needed for
compute-intensive applications.
In essence, this is what cloud computing is all about: providing
the facilities to dynamically construct an infrastructure and
compose what is needed from available services.
46. Distributed Computing Systems
High-performance computing more or less started with the
introduction of multiprocessor machines.
In this case, multiple CPUs are organized in such a way
that they all have access to the same physical memory.
In contrast, in a multicomputer system several computers are
connected through a network and there is no sharing of main
memory.
Shared-memory model proved to be highly convenient for
improving the performance of programs and it was relatively
easy to program.
But scalability problem
48. Distributed Computing Systems
To overcome the limitations of shared-memory systems, high-
performance computing moved to distributed-memory
systems
This shift also meant that many programs had to make use
of message passing instead of modifying shared data as a
means of communication and synchronization between
threads.
Unfortunately, message passing models have proven to be
much more difficult and error-prone compared to the
shared-memory programming models.
49. Distributed Computing Systems
Cluster Computing:
Cluster-computing systems became popular when the
price/performance ratio of personal computers and workstations
improved.
At a certain point, it became financially and technically
attractive to build a supercomputer using off-the-shelf
technology by simply hooking up a collection of relatively
simple computers in a high-speed network.
In virtually all cases, cluster computing is used for parallel
programming in which a single (compute intensive) program is
run in parallel on multiple machines.
50. Distributed Computing Systems
Cluster Computing:
One widely applied example of a cluster computer
is formed by Linux-based Beowulf clusters, of
which the general configuration is shown below.
51. Distributed Computing Systems
Grid Computing:
No assumptions are made concerning similarity of hardware,
operating systems, networks, administrative domains,
security policies, etc.
A key issue in a grid computing system is that resources
from different organizations are brought together to allow
the collaboration of a group of people from different
institutions, indeed forming a federation of systems.
Such a collaboration is realized in the form of a virtual
organization.
52. Distributed Computing Systems
Grid Computing:
The processes belonging to the same virtual organization have
access rights to the resources that are provided to that organization.
Typically, resources consist of compute servers (including
supercomputers, possibly implemented as cluster computers),
storage facilities, and databases.
53. Distributed Computing Systems
Grid Computing:
An architecture initially proposed by Foster et al. is shown in
the following figure, which still forms the basis for many grid
computing systems.
A layered architecture for grid computing systems
54. Distributed Computing Systems
Grid Computing:
The architecture consists of four layers.
Fabric layer provides interfaces to local resources at a
specific site.
Provide functions for querying the state and capabilities of
a resource, along with functions for actual resource
management.(e.g., locking resources).
55. Distributed Computing Systems
Grid Computing:
Resource layer is responsible for managing a single
resource.
It uses the functions provided by the connectivity
layer and calls directly the interfaces made available
by the fabric layer.
Connectivity layer consists of communication protocols
for supporting grid transactions that span the usage of
multiple resources.
Contain security protocols to authenticate users and
resources.
56. Distributed Computing Systems
Grid Computing:
Collective layer: It deals with handling access to multiple
resources and typically consists of services for resource
discovery, allocation and scheduling of tasks onto multiple
resources, data replication, and so on.
Unlike the connectivity and resource layer, each consisting
of a relatively small, standard collection of protocols, the
collective layer may consist of many different protocols
reflecting the broad spectrum of services it may offer to a
virtual organization.
57. Distributed Computing Systems
Grid Computing:
Application layer: consists of the applications that operate
within a virtual organization and which make use of the grid
computing environment.
Typically the collective, connectivity, and resource layer form
the heart of what could be called a grid middleware layer.
These layers jointly provide access to and management of
resources that are potentially dispersed across multiple
sites.
58. Distributed Computing Systems
Cloud Computing:
Cloud computing delivers computing resources, including
infrastructure, platforms, and software, over the internet on a
pay-as-you-go basis. Cloud computing provides scalability,
flexibility, and on-demand access to computing resources,
allowing users to deploy and manage applications without the
need for extensive hardware infrastructure.
Example: Amazon Web Services (AWS)
59. Distributed Computing Systems
Cloud Computing:
In practice, clouds are organized into four layers, as shown
in the next figure.
60. Distributed Computing Systems
Cloud Computing:
1. Hardware: processors, routers, power and cooling
systems.
2. Infrastructure: an important layer forming the backbone
for most cloud computing platforms.
It deploys virtualization techniques to provide
customers an infrastructure consisting of virtual
storage and computing resources.
3. Platform: provides to a cloud-computing customer what
an operating system provides to application developers.
4. Application: Actual applications run in this layer and are
offered to users for further customization.
text processors, spreadsheet applications, presentation
applications, and so on.
61. Distributed Computing Systems
Cloud Computing:
Cloud-computing providers offer these layers to their
customers through various interfaces (including command-
line tools, programming interfaces, and Web interfaces),
leading to three different types of services:
Infrastructure-as-a-Service (IaaS) covering hardware and
infrastructure layer.
Platform-as-a-Service (PaaS) covering the platform layer.
Software-as-a-Service (SaaS) in which their applications
are covered.
62. Distributed Information Systems
Distributed information systems manage and distribuet data
across multiple nodes or databases in a distributed network.
These systems focus on ensuring the availability, consistency,
and integrity of data across the distributed environment.
Characteristics:
Data Distribution: Data is distributed across multiple nodes or
databases.
63. Distributed Information Systems
Data Consistency: Techniques such as distributed
transactions and replication ensure data consistency.
Query Processing: Queries may be distributed and
executed across multiple nodes.
Examples: Distributed databases.
64. Pervasive Systems(Distributed
Embedded System
Pervasive systems, also known as distributed embedded
systems, consist of interconnected embedded devices or sensors
deployed in the physical environment to monitor, control, and
interact with the surrounding world. These systems aim to
seamlessly integrate computing and communication capabilities
into everyday objects and environments.
65. Pervasive Systems
Characteristics:
Embedded Devices: Systems comprise embedded devices with
limited computational and communication capabilities.
Ubiquitous Connectivity: Devices communicate with each
other and with central servers or controllers.
Context Awareness: Systems may be aware of their physical
environment and adapt their behavior accordingly.
Examples: Internet of Things (IoT) applications, smart home
systems, industrial automation, wearable devices.
66. Pervasive Systems
In Pervasive systems.
There is often no single dedicated interface, such as a
screen/keyboard combination.
Instead, a pervasive system is often equipped with many
sensors that pick up various aspects of a users behavior.
Likewise, it may have a myriad of actuators to provide
information and feedback, often even purposefully aiming to
steer behavior.
67. Pervasive Systems
Many devices in pervasive systems are characterized by being
small, battery powered, mobile, and having only a wireless
connection, although not all these characteristics apply to all
devices.
68. Pervasive Systems
There are three different types of pervasive systems, although
there is considerable overlap between the three types:
1. Ubiquitous Computing Systems
2. Mobile Computing Systems
3. Sensor Networks
69. Pervasive Systems
1. Ubiquitous Computing Systems
Ubiquitous computing aims to integrate computing technology
seamlessly into our environment, making it pervasive and
invisible. It involves embedding sensors and computing
capabilities into everyday objects and spaces, enabling them to
sense, communicate, and respond to user needs without explicit
instructions.
The goal is to create intelligent environments that are aware of
users' needs and preferences, adapting to their behaviors and
providing personalized services.
70. Pervasive Systems
The core requirements for a ubiquitous computing system are
roughly as follows:
1. (Distribution) Devices are networked, distributed, and accessible
in a transparent manner.
2. (Interaction) Interaction between users and devices is highly
unobtrusive.
3. (Autonomy) Devices operate autonomously without human
intervention, and are thus highly self-managed.
4. (Intelligence) The system as a whole can handle a wide range of
dynamic actions and interactions.
71. Pervasive Systems
2. Mobile Computing Systems
Mobile computing refers to the use of portable computing devices
such as smartphones, tablets, and laptops. These devices are
equipped with wireless communication capabilities and can access
the internet, providing users with pervasive access to information
and services on the go.
72. Pervasive Systems
3. Sensor Networks
Sensor networks are a specific type of network composed of
interconnected sensors that gather data from the physical
world.
Sensor networks are often used in pervasive computing
environments to monitor and sense the physical environment,
enabling applications such as environmental monitoring,
surveillance, and healthcare monitoring.
73. Pervasive Systems
A sensor network generally consists of tens to hundreds or
thousands of relatively small nodes, each equipped with one
or more sensing devices.
Most sensor networks use wireless communication, and the
nodes are often battery powered.
Their limited resources, restricted communication
capabilities, and constrained power consumption demand
that efficiency is high on the list of design criteria.