A distributed system is one in which located at networked computers communication and co-ordinate their actions only by passing messages. This definition leads to the following characteristics of distributed systems; concurrency of components,lack of global clock and independent failure of components.
§Defining Distributed Systems
§Resource sharing and the Web
§Design Challenges of Distributed Systems
§Defining Distributed Systems
§ Various definition of distributed systems have been given in the literature, for example:
§ Various definition of distributed systems have been given in the literature, for example:
Ø A collection of logically related data that is distributed over different processing nodes of computer network.
§ Definition above does not provide all characteristics of distributed systems.
Another way is a definition is difficult to find a definition that provides all
characteristics that gives a loose characterization for distributed systems
such as:
Ø A distributed system is a collection of independent computers that appear to the users of the system as a single computer.
§With any definition, sharing of resources is a main motivation for constructing distributed systems.
In this course, we define distributed systems more precisely
as :
Ø A distributed system is one in which hardware or software
components located at networked computers communicate and coordinate their
actions only by message passing.
Definition above covers the entire range of distributed
systems in which networked computers can usefully be deployed.
§ Networks of computers are everywhere!
§ Examples of networks of computers are:
Ø Mobile phone networks
Ø Corporate networks
Ø Factory networks
Ø Campus networks
Ø Home networks
Ø In-car networks
Ø On board networks in aero planes and trains
Defining Distributed Systems
Defining Distributed Systems
§ Our definition of distributed systems has the following
significant consequences:ØConcurrency v Tasks carry out independently
No global clock
v Tasks coordinate their actions by exchanging message
ØIndependent Failures
v Faults in the network result in the isolation of the computers that are connected to it.
v Each component of the system can fail independently, leaving the others still running.
General Examples of Distributed Systems
§ Internet
§ Intranets
§ Mobile networks
§The Internet
Ø The Internet is a vast interconnected collection of computer
networks of many different types.
Ø Multimedia services are available in the Internet enabling
users to access audio and video data including music, radio, TV channels,
phone, and video conferencing.
§ Intranet
Ø An intranet is a portion of the Internet that is separately
administered and has a boundary that can be configured to enforce local
security policie
§ Mobile networks
Ø Technological advances in device miniatorization and wireless
networking have led increasingly to the integration of small and portable
computing devices into distributed systems.
Ø These devices include:
v Laptop computers
v Handheld devices
• Personal digital
assistants(PDAs)
• Mobile phones
• Pagers
• Video cameras
• Digital camera
Ø Wearable devices
v Smart watches with functionality similar to a PDA
Ø Devices embedded in appliances
v Washing machines
v Hi-fi systems
v Cars
v Refrigerators
§ Cluster
§ Cluster
Ø A type of parallel or distributed processing system, which
consists of a collection of interconnected stand-alone computers cooperatively working together as a
single, integrated computing resource. The computers may be standard per uniprocessor or multiprocessor.
Ø A cluster can be used for providing highly scalable services
such as search engines provide for users all over the Internet.
§Grid
Ø A type of parallel and distributed system that enables the
sharing, selection, and aggregation of geographically distributed autonomous
resources dynamically at runtime depending on their availability, capability,
performance, cost, and users' quality-of-service requirements.
§ The World Wide Web
Ø The World Wide Web is an evolving system for publishing and
accessing resources and services across the Internet.
Design Challenges of
Distributed Systems
n Designers of distributed systems need to take the following
challenges into account:
Ø Heterogeneity
v Heterogeneous components must be able to interoperate.
Ø Openness
v Interfaces should allow components to be added or replaced.
Ø Security
v The system should only be used in the way intended.
Ø Scalability
v System should work efficiently with an increasing number of users.
v System performance should increase with inclusion of additional resources
.
Ø Failure handling
v Failure of a component (partial failure) should not result in failure of the whole system.
ØTransparency
v Distribution should be hidden from the user as much as possible..
Heterogeneity
§ Heterogeneous components that must be able to interoperate, apply to all of the following:
Ø Networks
Ø Hardware architectures
Ø Operating systems
Ø Programming languages
§ Examples that mask differences in network, operating systems, hardware and software to provide heterogeneity are
Ø Middleware
Ø Internet protocols
Ø Mobile code
ØMiddleware
v Middleware applies to a software layer.
v Middleware provides a programming abstraction.
v Middleware masks the heterogeneity of the underlying networks, hardware, operating systems and programming languages.
v The Common Object Request Broker (CORBA) is a middleware example.
ØVirtual machine
v Virtual machine provides a way of making code executable on any hardwar
Openness
§ Distributed systems must be extensible.
§ Openness of a computer system is the characteristic that
determines whether the system can be extended and re-implemented in various
ways.
§ The first step in openness is publishing the documentation of software components and interfaces of the components to make them available to software developers.
§ The first step in openness is publishing the documentation of software components and interfaces of the components to make them available to software developers.
Security
§ Security of a computer system is the characteristic that the
resources are accessible to authorized users and used in the way they are
intended.
§ Security for information resources has three components:
ØConfidentiality
v Protection against disclosure to unauthorized individual.
ØIntegrity
v Protection against alteration or corruption.
ØAvailability
v Protection against interference with the means to access the resources.
§ Security Mechanisms are:
Ø Encryption
Ø Authentication
Ø Authorization
Security challenges
§ Denial of service attacks
Ø Denial of service attacks is an attempt to make a computer resource unavailable to its intended users.
§ Security of mobile code
Ø Mobile code needs to be handled with care.
v E.g. receiving an executable program as an electronic mail attachment to display an picture but in reality it may access local resources, or perhaps be part of a denial of service attack
Scalability
§ Scalable distributed systems operate
effectively and efficiently at
many different scales, ranging from a small Intranet to the Internet.
effectively and efficiently at
many different scales, ranging from a small Intranet to the Internet.
§ Scalable distributed systems remain
effective when there is a significant
increase in the number of resources
and the number of users
.
effective when there is a significant
increase in the number of resources
and the number of users
.
§ Challenges of designing scalable distributed systems are:
ØControlling the cost of physical resources
v Cost should linearly increase with the system size.
ØControlling the performance loss
v For example, in hierarchically structured data, search performance loss due
to data growth should not be beyond O(log n), where n is the size of data.
Failure handling
§ Failures n distributed systems are
partial, that is some components
fail while others continue to
function.
partial, that is some components
fail while others continue to
function.
§ Techniques for dealing with failures:
ØDetecting failures
v E.g. Checksums
ØMasking failures
v E.g. Retransmission of corrupt messages
v E.g. File redundancy
ØTolerating failures
v E.g. Exception handling
v E.g. Timeouts
ØRecovery from Failure
v E.g. Rollback mechanisms
ØRedundancy
v E.g. Redundant components
Concurrency
§ With concurrency, services and applications can be shared by
clients in a distributed system.
§ For an object to be safe in a concurrent environment, its
operations must be synchronized in such a way that its data remains consistent.
§ Concurrency can be achieved by standard techniques such as
semaphores, which are used in most operating systems.
Transparency
§ Transparency is defined as the hiding of the separation of
components in a distributed systems from the user and the application
programmer.
§ With transparency the system is perceived as a whole rather
than a collection of independent components.
§ Forms of transparencies
ØAccess transparency
v Enables local and remote resources to be accessed using
identical operations.
ØLocation transparency
v Enables resources to be accessed without knowledge of their
physical or network location (for example, which building or IP address).
ØConcurrency transparency
v Enables several processes to operate concurrently using
shared resources without interference between them.
ØReplication transparency
v Enables multiple instances of resources to be used to
increase reliability and performance without knowledge of the replicas by users
or application programmers.
ØFailure transparency
v Enables the concealment of faults, allowing users and
application programs to complete their tasks despite the failure of hardware or
software components.
ØMobility transparency
v Allows the movement of resources and clients within a system
without affecting the operation of users or programs
§ The two most important transparencies are access and location transparency referred to together
as network transparency.
§ Presence or absence of network transparency most strongly affects the utilization of distributed resources.
§ Presence or absence of network transparency most strongly affects the utilization of distributed resources.