0% found this document useful (0 votes)
18 views

LU1-Introduction To Distributed System

Distributed System Chapter 1

Uploaded by

ridok25951
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

LU1-Introduction To Distributed System

Distributed System Chapter 1

Uploaded by

ridok25951
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

INTRODUCTION TO DISTRIBUTED

SYSTEM
Topic of the day
• Characterisation of DS
• Challenges
• Example
DEFINITION # 1
• A distributed system is :
A collection of independent computers that
appear to the users of the system as a single
system.

Computers / hardware / machine are


autonomous and users think they are dealing
with a single system (achieved via middleware)
DEFINITION # 2
• We define distributed system as one in which
hardware or software components located at
networked computers communicate and
coordinate their actions only by passing messages.
• Examples:
– Internet
– Intranet
– Ubiquitous and Mobile computing
Definition Details
• Concurrency:

– In a network of computers, concurrent program execution is


the norm.

– I can do my work on my computer while you do your work on


yours, sharing resources such as web pages or files when
necessary. The capacity of the system to handle shared
resources can be increased by adding more resources (for
example. computers) to the network. The coordination of
concurrently executing programs that share resources is also
an important and recurring topic.
Definition Details
• No global clock:

When programs need to cooperate they coordinate their


actions by exchanging messages.

Close coordination often depends on a shared idea of the


time at which the programs’ actions occur. But it turns out that
there are limits to the accuracy with which the computers in a
network can synchronize their clocks – there is no single global
notion of the correct time. This is a direct consequence of the
fact that the only communication is by sending messages
through a network.
Definition Details
• Independent failures:

All computer systems can fail, and it is the responsibility of system designers to plan
for the consequences of possible failures.

Distributed systems can fail in new ways. Faults in the network result in the isolation of
the computers that are connected to it, but that doesn’t mean that they stop
running. In fact, the programs on them may not be able to detect whether the
network has failed or has become unusually slow.

Similarly, the failure of a computer, or the unexpected termination of a program


somewhere in the system (a crash), is not immediately made known to the other
components with which it communicates. Each component of the system can fail
independently, leaving the others still running.
Purpose of Distributed System
• Prime Motivation/purpose/objectives are:
– Sharing of resources
– By sending messages
Resource Sharing
• Users are so accustomed to the benefits of resource sharing
that they may easily overlook their significance.
• We routinely share hardware resources such as printers, data
resources such as files, and resources with more specific
functionality such as search engines.
Resource Sharing
• Search engine on the Web provides a facility to users throughout the
world, users who need never come into contact with one another
directly.
• In computer-supported cooperative working (CSCW), a group of users
who cooperate directly share resources such as documents in a small,
closed group. The pattern of sharing and the geographic distribution
of particular users determines what mechanisms the system must
supply to coordinate users’ actions.
• The term service used for a distinct part of a computer system that
manages a collection of related resources and presents their
functionality to users and applications.
Resource Sharing
• For example, we access shared files through a file service; we send
documents to printers through a printing service; we buy goods through an
electronic payment service.
• The only access we have to the service is via the set of operations that it
exports. For example, a file service provides read, write and delete
operations on files.
• The fact that services restrict resource access to a well-defined set of
operations is in part standard software engineering practice. But it also
reflects the physical organization of distributed systems.
• Resources in a distributed system are physically encapsulated within
computers and can only be accessed from other computers by means of
communication.
• For effective sharing, each resource must be managed by a program that
offers a communication interface enabling the resource to be accessed and
updated reliably and consistently.
Challenges of Distributed Systems
• What are we trying to achieve when we construct a distributed
system?
• Certain common characteristics can be used to assess
distributed systems
– Heterogeneity
– Openness
– Security
– Scalability
– Failure Handling
– Concurrency
– Transparency
Heterogeneity

• Variety and differences in


– Networks
– Computer hardware
– Operating systems
– Programming languages
– Implementations by different developers

• Middleware as software layers to provide a programming abstraction as well


as masking the heterogeneity of the underlying networks, hardware, OS, and
programming languages (e.g., CORBA).

• Mobile Code to refer to code that can be sent from one computer to
another and run at the destination (e.g., Java applets and Java virtual
machine).
Transparency
• Hide the fact that its processes and resources are physically distributed across
multiple computers.

• Distributed systems designers must hide the complexity of the systems as much as
they can.

• For instance: While users hit search in google.com, they never notice that their query
goes through a complex process before google shows them a result. Some terms
of transparency in distributed systems are:
– Access
– Location
– Migration
– Replication
– Concurrency
– Failure
– Persistence
Different forms of transparency in a
distributed system
Transparency Description

Hide differences in data representation and how a resource is accessed (i.e., Intel
Access
and SPARC byte order format, file System for Linux, Windows, Mac system)

Location Hide where a resource is located (i.e., URL)

Migration Hides from an object the ability of a system to change that object’s location

Relocation Hide that a resource may be moved to another location while in use

Hides the fact that an object or its state may be replicated and that replicas reside
Replication
at different locations

Hides the coordination of activities between objects to achieve consistency at a


Concurrency
higher level

Failure Hides failure and possible recovery of objects


Openness
• Openness is concerned with extensions and improvements of
distributed systems.
• Detailed interfaces of components need to be published.
• New components have to be integrated with existing
components.
• Systems that are designed to support resource sharing in this
way are termed as open distributed system to emphasize the
fact that they are extensible. They may be extended at the
hardware level by the addition of computers to the network
and at the software level by introducing of the new services
and the re-implementation of the old one, enabling
application to share resources.
Security
• In a distributed system, clients send requests to access data
managed by servers, resources in the networks: each links
required security measures.
• 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
Scalability
• Distributed systems must be scalable as the number of user increases.
• A system is said to be scalable if it can handle the addition of users and
resources without suffering a noticeable loss of performance or increase in
administrative complexity
• Scalability has 3 dimensions:
• Size
• Number of users and resources to be processed. Problem associated is
overloading
• Geography
• Distance between users and resources. Problem associated is communication
reliability
• Administration
• As the size of distributed systems increases, many of the system needs to be
controlled.
Concurrency
• Distributed Systems usually is multi-users environment.
• In order to maximize concurrency, resource handling
components should be anticipate as they will be
accessed by competing users.
• Concurrency is a tricky challenges, then we must avoid
the system’s state from becoming unstable when users
compete to view or update data.
Failure Handling
• Distributed Systems involves a lot of collaborating
components (hardware, software, communication
network). So there is a huge possibility of partial or total
failure.
• Distributed systems must maintain availability even at low
levels of hardware/software/network reliability.
• Fault tolerance is achieved by
• recovery
• redundancy
Examples of Contemporary Distributed
System
• Contemporary distributed system illustrate 2 elements:
– Pervasive
– Application Diversity

• Pervasive  associating and embedding


microprocessor (or any form of processing element) to
communicate and passing/changing information
among them
• Diversity  the use of multiple
platform/standard/hardware/etc. would not affect the
‘single look’ of the system
Examples of Contemporary Distributed
System
• Web Search
• Massively multiplayer online games (MMOGs)
• Financial Trading
Web Search
• Web search has emerged as a major growth industry
in the last decade, with recent figures indicating that
the global number of searches has risen to over 10
billion per calendar month.
Web Search
• Google, the market leader in web search
technology, has put significant effort into the design
of a sophisticated distributed system infrastructure to
support search (and indeed other Google
applications and services such as Google Earth).
• This represents one of the largest and most complex
distributed systems installations in the history of
computing.
Web Search
• Highlights of this infrastructure include:
– an underlying physical infrastructure consisting of very large numbers of
networked computers located at data centres all around the world;
– a distributed file system designed to support very large files and heavily
optimized for the style of usage required by search and other Google
applications (especially reading from files at high and sustained rates);
– an associated structured distributed storage system that offers fast access
to very large datasets;
– a lock service that offers distributed system functions such as distributed
locking and agreement;
– a programming model that supports the management of very large
parallel and distributed computations across the underlying physical
infrastructure.
Massively multiplayer online games
(MMOGs)
• Massively multiplayer online games offer an immersive
experience whereby very large numbers of users interact
through the Internet with a persistent virtual world.
• The engineering of MMOGs represents a major challenge for
distributed systems technologies, particularly because of the
need for fast response times to preserve the user experience of
the game.
• Other challenges include the real-time propagation of events
to the many players and maintaining a consistent view of the
shared world.
• Therefore provides an excellent example of the challenges
facing modern distributed systems designers.
Financial trading
• The financial industry has long been at the cutting edge of distributed
systems technology with its need, in particular, for real-time access to a wide
range of information sources (for example, current share prices and trends,
economic and political developments).
• The industry employs automated monitoring and trading applications.
• Note that the emphasis in such systems is on the communication and
processing of items of interest, known as events in distributed systems, with
the need also to deliver events reliably and in a timely manner to potentially
very large numbers of clients who have a stated interest in such information
items.
• Examples of such events include a drop in a share price, the release of the
latest unemployment figures, and so on.
Trends in distributed systems
• Internet
• Intranet
• Mobile and ubiquitous networks
Internet
• Internet is a vast inter-connected collections of computer networks of
many different types.
• Program running on the computers connected to internet by passing
messages, employing common means of communications.
• For instance.. We send an email, email server first authenticate, then
response, take the email to other user, all is done using messages.
Intranet
• Intranet is a portion of the internet that is separately administered and
has a boundary that can be configured to enforce local security
policies.
• Intranet is composed of several LANs linked by backbone
connections. UNIMAS networks (every faculty got one or more LAN)
• An intranet is connected to the internet via a router, which allows the
users inside the intranet to make use of services elsewhere such as the
web or email.
Cont…
• Many organizations need to protect their own services from
unauthorized use by possibly malicious users.
• The role of a firewall is to protect an intranet by preventing
unauthorized message leaving or entering. A firewall is implemented
by filtering incoming and outgoing messages.
Mobile and Ubiquitous Networks
Technological advances in device miniaturization and wireless
networking have led increasingly to the integration of small and
portable computing devices into distributed system, these includes
• Laptops
• Handheld devices (personal digital assistants, mobile phones,
• video cameras, digital cameras
• Wearable devices (smart watches)
• Location-aware or content-aware computing
Cont…
• Mobile computing is the performance of computing tasks while the
user is on the move.
• Move means, they are away from the actual intranet (Dr adnan is at
home but still can access the resources of UNIMAS)
Ubiquitous Computing
• Ubiquitous computing is the harnessing of many small cheap
computational devices that are presents in the users physical
environment including the home office and even natural
settings.
• Ubiquitous means
• present, appearing, or found everywhere
• Ubiquitous computing is the method of enhancing computer use
by making many computers available throughout the physical
environment, but making them effectively invisible to the user.
Cont…
• Thus, mobile and ubiquitous networks is another example for
distributed system.
• It has all the characteristics mentioned above.
• The presence of computer everywhere can only be useful when they
can communicate (share resources) with one another.
• For instance, it will be very convenient for the users to control their
washing machine through universal remote control
Distributed Pervasive Systems/Ubiquitous
Networks
• There is a next-generation of distributed systems emerging in which the
nodes are small, mobile, and often embedded as part of a larger
system. Some requirements:
– Contextual change: The system is part of an environment in which changes
should be immediately accounted for.
– Ad hoc composition: Each node may be used in a very different ways by
different users. Requires ease-of-configuration.
– Sharing is the default: Nodes come and go, providing sharable services and
information.
Why Distributed Computing/System?
Conclusion
• The key purpose of distributed system to share the resources. At a time
a user can do all the necessary stuffs. For instance, use google, send
images or files, share physical resources like printers etc. normally if all
the devices connect to each other, then its very easy to get the
shared resources. To get connected means to get connected with the
family where we can share every things within the family.
Implementation Issues
• Architectures of distributed system (How to design DS, what should be the
architecture look like)
• Processes (How message is created and send to the server)
• Inter processes communication (How client and server processes
communication each other)
• Naming (in case of scalability, we need to name each and every device, so
how naming can be done)
• Synchronization (every device and process have their own timestamps, so
how to synchronize them)
• Consistency and replication (how to deal with the replication and
consistency in DS)
• Fault tolerance (very big networks, fault can be occur, how to deal with
them)

You might also like