0% found this document useful (0 votes)
15 views13 pages

DC Assignment 1 (Disturbed Computing) Engg

It an assignment for the subject distributed computing. It will be useful for the students and as well as mentor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views13 pages

DC Assignment 1 (Disturbed Computing) Engg

It an assignment for the subject distributed computing. It will be useful for the students and as well as mentor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Distributed Computing 1- 11 Introduction

Asynchronous distributed systems are unpredictable in terms of timing


2 No timeouts can be used.
Asynchronous systems are widely and successfully used in practice. In practice
timeouts are used with asynchronous systems for failure detection. However,
additional measures have to be applied in order to avoid duplicated messages,
duplicated execution of operations, etc.
Sr. No. Synchronous execution Asynchronous execution

Synchronous execution means the first Asynchronous execution means a


task in a programn must finish second task can begin executing in
processing before moving on to parallel, without waiting for an earlier
executing the next task. task to finish.

Lower and upper bounds on execution No bound-on process execution time.


time of processes can be set.

Transmitted messages are received No bound-on message transmission


within a known bounded time. delay.
Drift rates between local clocks have a No bounds on drift rates between loçal
4
known bound. clocks.

1.7 Design Issues and Challenges AU : May-22

1.7.1 Challenges from System Perspective


Communication mechanisms : This task involves designing appropriate
mechanism for communication among the processes in the network. For example :
Remote Procedure Call (RPC), Remote Object Invocation (ROI), message-oriented
vs. stream-oriented communication.

Processes : Issue involved are code migration, process/ thread management at


clients and servers, design of software and mobile agents.
Naming : Easy to use identifiers needed to locate resources and processes
transparently and scalable.
Synchronization : Mechanisms for synchronization or coordination among the
processes are essential. Mutual the classical example of
exclusion is
synchronization, but many other forms of synchronization, such as leader election
are also needed.
" Data storage and access : Various schemes for data storage, searching and lookup
should be fast and scalable across network. Revisit file system design.

TECHNICAL PUBLICATIONS an up-thrust for kowledye


1- 12
Distributed Computing
Introductic
Consistency and replication : To avoid bottleneck, to provide fast accesses to da,
and provide replication for
fast accesS, scalability. Require consisten
management among replicas.
Distributed systems security : Secure channels, access control, key managenme
(key generation and key distribution), authorzation, _ecure group managementa
the various method used to provide security.)
1.7.2 Challenges
Designing the distributed systems does not come for free. Some challenges need t
be overcome in order to get the ideal systems.(Design issues and challenges o:
distributed systems are as follows :
1. Heterogeneity 2. Openness 3. Security
4. Scalability 5. Failure handling 6. Concurrency
7. Transparency

1.7.2.1 Heterogeneity
"(Modern distributed systems are highly heterogerneous in many dimensions
including available bandwidth, processor speed, disk capacity, security, failure
rate, and pattern of failures. It applies to all the following :
1. Computer networks : LAN, wireless network, satellite link
2. Computer hardware devices : Laptop, computer, mobiles phones, tablets
3. Operating systems : Linux, UNIX, Windows
4. Programming languages: C/Ct+, Java, PHP
5. Different roles of software developers, designers, system managers)
There may be many different representations of data in the system. This mig
include different representations for integers, byte streams, floating point numbes
and character sets.
Most of the data can be marshaled from one system to another without losi
significance. Attempts to provide a universal canonical form of information
lagging
The integration of heterogeneous components implies the construction
distributed systems. In a distributed system, heterogeneity is almost urnavoidab
as different components may require different implementation technologes.
Middleware
Middleware is a software layer that provides a programming abstraction as W
as masking the heterogeneity of the underlying platform) E.g., cORBA, D
DCON
Java RMI, etc.

TECHNICAL PUBLICA TIONS-an up-thrust


for knowledge
Distributed Computing
1- 13 Introduction

.(Middleware serves to hide both these aspects by providing uniform, standard,


hgh-level interfaces to the application developers and integrators, so that
applications can be easily composed, reused, ported, and made to interoperate.
Middleware services provide common services to perform various general purpose
function Fig. 1.71 shows position
ot middleware. Middleware Application software
software resides above the network
and below the application
software. APIfor standardized, high-level services
Mobile code is used to refer to Middleware

program code that can be


transferred from one computer to
another and run at the destination Distributed, heterogeneous hardware nodes
computer. Example of mobile code
Fig. 1.7.1 Position of middleware
is Java applets.
Code suitable for running on one computer is not necessarily suitable for running
on another because executable programs are normally specific both to the
instruction set and to the host operating system. Middleware should make the
network transparent to the applications and end users.
Users and applications should be able to perform the same operations across the
network that they can perform locally. Middleware should hide the details of
computing hardware, OS, software components across networks.

1.722 Openness
Openness means that the system can be easily extended and modified. Openness
refers to the ability to plug and playYou can, in theory, have two equivalent
services that follow the same interface contract, and interchange one with the
other.
have to be able to
The integration of new components means that they
communicate with some of the components that already exist in the system.
(Openness and distribution are related. Distributed system components achieve
interfaces.
openness by communicating using well-defined
" If the well-defined interfaces for a system are published, it is easier for developers
to add new features or replace sub-systems in the future.
"(Open systems can easily be extended and modified. New components can be
integrated with existing components. )

TECHNICAL PUBLICATIONSs -an up-thrust for knowledgo


1- 14
Distributed Computing

" Differences in data representation or interface types on different


\ntrodur
be resolved. Openness and distribution are related to each
components need to have well-defined and well-documented
processors
other. hae
" It can be constructed from heterogeneous hardware and software.
interfaces. Svs

systems.OpennesDeta
concerned with extensions and improvements of distributed
interfaces of comnponents need to be published. New
integrated with existing components. components haave to
The system needs to have a stable architecture so that new
easily integrated while preserving previous investments. components Can
-(An open distributed system offers services according to standard
describe the syntax and semantics of those services. rules th.
1.7.2.3 Security
Security becomes even more important in a distributed system.
Authenieak
authorization, digital signatures, non-rpudiation, encryption, and privacy
becon
major issues in the distributed system.
The four basic goals of a security system are to protect
information, to detect a
intrusion, to confine the security breach, and to repair the damage and return h
system to a known stable and secure state.
Security for information resources has three components
Confidentiality : Protection against disclosure to unauthorized individuals, e
ACL in unix file system.
2. Integrity : Protection against alteration or corruption, e.g. checksum.
3. Availability : Protection against interference with the means to access the
resources, e.g. Denial of service.
Encryption provides protection of shared resources, keeps sensitive informatie
secret when transmitted. Security challenges that are not yet fully met :
1. Denial of service attacks

2. Security of mobile code.


"A denial-of-service attack is an attempt to make a computer or network resou

unavailable to its intended users.


in lrs
Security of mobile code : Mobile code systems are conceived to operate
managed
scale settings where networks are composed of heterogeneous hosts, links wh
different authorities with different levels of trust and by connected

different bandwidths.

TECHNICAL PUBLICATIONS - an up-thrust for knowledge


Introduction
Distributed Computing 1-15

Mobile code systems address a wide range of needs and requirements, such as
service customization, dynamic extension of application functionality, autonomy,
fault tolerance and support for disconnected operations.
1.7.24 Sçalability
ASystem 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
or not.
The ability to accommodate any growth in the future be it expected
more than
Distributed system architectures achieve scalability through employing
one host. Distributed systems can be scalable because additional computers can be
added in order to host additional components.
1. In size : Dealing with large numbers of machines, users, tasks.
2. In location : Dealing with geometric distribution and mobility.
3. In administration : Addressing data passing through different regions of
ownership.
The design of scalable distributed systems presents the following challenges :
1. Controlling the cost of resources.
2. Controlling the performance loss.
3. Preventing software resources from running out.
4. Avoiding performance bottlenecks. )
Controlling the cost of physical resources i.e. servers and users.
Controlling the performance loss: DNS hierarchic structures scale better than
Iinear structures and save time for access structured data.

Preventing software resources running out : Internet 32 bits addresses run out
Soon. 128 bits one gives extra space in messages.
Avoiding performance bottlenecks : DNS name table was kept in a single master
file partitioning between servers.
Example : File system scalability is defined as the ability to support very large file
systens, large files, large directories and large numbers of iles while still
providing 1/O performance. Google file system aims at efficiently and reliably
managing many extremely large files tor many clients, using commodity hardware.
Various techniques such as replication, caching and cache memory management
and asynchronous processing help to achieve scalability.

TECHNICAL PUBLICATIONS an up-thrust for knowledge


1- 16
Distributed Computing

Scaling techniques Introductin


Examples would be
( Hiding communication latencies
communication as well as pushing code down to clients (e.g. Java asynchrOno
Javascript). applets
2. Distribution : Taking a component, splitting into smaller parts, and
spreading them across the system. subsequent,
3. Replication : Replicating components increases availability, helps balance
leading to better performance, helps hide latencies for the loa.
systems. Caching is a special form of replication.
geographically distributed
1.7.2.5 Failure Handling
(When faults occur in hardware or software,
programs may produce incorrert
results or they may stop before they have completed the intended
Failure handling is difficult in distributed systems computation.
because failure is partial ie
some components fail while other continue to function. )
"CHardware, software and networks are not free of
even in the presence of faults are referred to as
failures. Operations that continue
fault-tolerant.
Distributed systems can maintain availability even at
low levels of hardware
/software /network reliability.
Fault tolerance, that should not involve users
or system administrators, is achieved
by recovery and replication of components.
Techniques for dealing with failures:
(1. Detecting failures
2. Masking failures
3. Tolerating failures
4. Recovering from failures
5. Redundancy.
Detecting failures : Not all failures are
detected. For example : Corrupted data detected but some of the failures can
Detection of failure in remote crashed from file is detected by using cheCkS
server in the internet is hard to
Masking failures : Failures are detecl.
failures are : hidden or made less sever. Examples of hidin:
1
Messages could be retransmitted.
2. Files can be
duplicated on different place.

TECHNICAL PUBLICATIONS
an up-thrust for knowledge
Distributed C o m p u t i n g
1-17 Introduction

Tolerating tailures : In the internet, client can be designed to tolerate failures


which generally nvolve the users tolerating them as well.
Recovery trom tailures : Recovery involves the design of software so that the state
ofpermanent data can be recovered or roll back after a server has crashed.
Redundancy : Services can be made to tolerate failures. Let us consider following
examples :
, There should be at least 2 routes between any 2 routers in the internet.
In DNS, every name table is replicated in at least 2 servers.
3. A database can be replicated in several servers. Clients are redirected from the
failure one to working one.

1.7.2.6 Concurrency
Componernts in distributed systems are executed
Time
in concurrent processes) Fig. 1.7.2 shows concept
of concurrency.
There is a possibility that several clients will
attempt to access a shared resource at the same
time. Multiple users make requests on same
resource for read, write and update operation.
Each resource must be safe in a concurrent
environment. )

(Any object that represents a shared resource in


a distributed system must be responsible for
Fig. 1.7.2 Concurrency
ensuring that, operates correctly in aconcurrent
environment.

1.72.7 Transparency
"(Distributed systems should be perceived by users and application programmers as
a whole rather than as a collection of cooperating components. Transparency is a
key issue within distributed system.
the ultimate
Concept : (Hide different aspects of distribution from the client. It is
goal of many distributed systems.
these services
" It can be achieved by providing lower-level services. The client uses
instead of hard coding the information. The service layer provides a service with a
Certain Quality of Service.

TECHNICAL PUBLICATIONSe an up-thrust for knowledge


Distributed Computing 1-18

Transparency is an important goal, but has to be considered Introd


other non-functional requirements and with respect to
particular together with
not knowdemands.
1. Location transparency : User using resources need
the resource. Any request to retrieve or update the
data
automatically forwarded by the system to the site or from any locatio,
processing request. For example : URL sites related site
2. Access transparency : Using identical
resources, e.g. Hyperlink in web
operations to access local
page. and rem
3. Concurrency transparency: Several processed
shared resources without
interference with between operate
them.
concurrerntly
4. Replication
transparency : Multiple instances of
increase reliability and performance resources to be iex3
or application programmers, e.g. without knowledge of the replicas by ..
web cache.
5. Failure transparency
:
the failure of hardware Users and applications to complete their
and software tasks desp
6. Mobility components, e.g., email.
transparency : Movement of
without affecting the operation resources and clients within a
of users and programs, e.g., syste
7. Performance mobile
transparency : phone.
performance as loads vary. Allows the system to be reconfigured to improv
8. Scaling
transparency : Allows the system and
without change to the system applications to expandh in Scal
Advantages of structure or the application
transparency :
Easier for the user algorithms.
:
a.
Doesn't have to bother
with system
b. Doesn't
have to know about topography.
Easier to understand. changes.
Easier for the
Doesn't haveProgrammer :
tó bother with
b. Doesn't
have to know system topography.
C.
Easier to understand. about changes.
Disadvantages of transparency :
a
Optimization cannot be done by
b. Strange behavior when programmer or user.
the underlying
C.
Underlying system can be system fails.
very conmplete.

TECHNICAL PUBLICATIONs
- an up-thrust for knowiedge
Distributed Computing
1- 19 Introduction

1.7.3 Application of Distributed Computing and Challenges


1. Mobile system

.(The portability of the devices, such as laptop computers, PDA, mobile phone,
refrigerators, together with their ability to connect conveniently to networks in
different places, makes mobile computing possible.)
Ubiquitous computing is the harnessing of many small cheap computational
devices that are present in user's physical environments, including the home, office
and elsewhere. )
Mobile devices are
1. Laptop computers.
2. Handheld devices, including PDAs, cell phones, pagers, video cameras and
digital cameras.
3. Wearable devices, such as smart watches.
4. Devices embedded in appliances such as washing machines,)hi-fi systems, cars.
Mobile computing (nomadic comnputing)
| 1. People can still access resources while he is on the move or visiting places
other than their usual environment.
2. Location-aware computing : Utilize resources that are conveniently nearby
Ubiquitous computing,(pervasive computing)
1. The harnessing of marny small, cheap computational devices those are present
in user's physical environments, including the home, office and elsewhere.
2. It benefits users while they remain in a single environment such as home.
" Fig. 1.7.3 shows the portable and handheld devices in a distributed system.
(See Fig. 1.7.3 on next page)
Mobile and ubiquitous computing raise significant system issues presents an
architecture for mobile computing.
User has access to three forms of wireless connection :
I. A laptop is connected to host's wireless LAN.
2. Amobile phone is connected to internet using WAP via a gateway.
3. A digital camera is connected to a printer over an infra-red link.

TECHNICAL PUBLICATIONs an up-thrust for knowledge


Distributed Computing 1- 20

Intr.

Internet

Home
Internet
Host Internet

Printer

WAP

Gateway

Camera

Mobile
phone

Fig. 1.7.3 Portable devices in DS


2. Pervasive computing

"Networking has become a pervasive resource and devices can be connected d


time and any place. The modern Internet is collection of
various co
networks.)
" Comnputer network are of different types. Example of network includes a w
range of wireless communication technologies such as WiFi, WiMAX, Bluet

and third-generation mobile phone


networks.
" Fig. 1.74 shows the typical portion of
the internet.
Programs running on the computers connected to it interact by passing
Messa

employing acommon means of communication.

TECHNICAL PUBLICATIONS an up-thrust for knowledge


Distributed Computing Introduction
1-21

Internet

ISP

LAN

Backbone

Satellite
link Backbone

LAN

Fig. 1.7.4 Typical portion of Internet

(The internet is a collection of large number of computer networks of many


different types. Internet communication mechanism is big technical achievement
and it is possible by using passing of messages.)
The Internet is a very large distributed system. The web is not equal to the
Internet. The implementation of the internet and services that it supports has
entailed the development of practical solutions to many distributed system issues.
" Internet service providers are companies that provide modem links and other
types of connection to individual users and small organizations, enabling them to
access services anywhere. It also provides local services such as email and web
hosting.

TECHNICAL PUBLICATIONS - an up-thrust to knowledge


Introduction
Distributed Computing 1- 22

transmission capacity, employing


DaCkbone in a network link with a high
prOVIdes multimedia
Satellite connections and fibre onic cable. The Internet also
files, Using Internet user can watch
Services. User can download audio and video
TV, play online games and do the video conference.
IntraFet within an enterprise. It may
An intranet is a private network that is contained in the
consist of many interlinked local area networks and also use leased
lines
WAN.
ntranet is composed of several local area networks linked
by backbone
connections. Routers are used to connect intranet to internet.
has a
fan intranet is a portion of the internet that is separately administered and
boundary that can be configured to enforce local security policies. Fig. 1.7.5 shows
intranet.

LAN

LAN

Router

LAN

Fig. 1.7.5 Intranet


The main issues arising in the design of components for use in
intranets are
services, firewalls and cost.

TECHNICAL PUBLICATIONS an up-thrust for knowiedge


Distributed Computing
1- 23 Introduction

Firewalls protect an intranet by preventing unauthorized messages leaving or


entering; implementing by filtered messages. The cost of software installation and
support is reduce by the use of system architectures such as network computers
and thin clients.

3. Multimedia system
Digital multimedia :tComputer-controlled integration of text, graphics, still images,
moving pictures, animation, sound, and any other medium. All these data types
are represented, stored, transmitted, and processed digitally.)
Acontinuous media type has an implicit time dimension, while a discrete type
does not. Referring to video and audio data as continuous and time based.
Continuous refers to the user's view of data. Internally, continuous media are
represented as sequences of discrete values that replace each other over time.
Multimedia streams are said to be time-based because timed data elements in
audio and video streams define the content of the stream. The systems that
support multimedia applications need to preserve the timing when they handle
continuous data.
" A distributed multimedia system should be able to perform the same functions for
continuous media types such as audio and video. It should be able to store
and
locate audio or video files, to transmit them across the network, to support the
presentation of the media types to the 'user and optionally also to
share the media
types aCross a group of users.
Distributed multimedia applications typically handle two different types of
information as well as
communication : Request/Reply interaction for control
real-time straming data.
Web casting
technology. It broadcast
Web casting is an application of distributed multimedia
technology to
continuous media over the internet. A webcast uses streaming media
to many simultaneous
take a single content SOurce and distribute it
listeners /viewers.
:
Web casting support following distributed multimedia application
example : MP3 standard,
I. It supports for encoding and encryption formats. For
MPEG-1, HDTV.
2. It supports quality of service.
schedulng
3. It uses resources management strategies, including appropriate
policies to support the desired quality of service.
(Webcgsting is also called push technology. It is amethod of obtaining intormation
in which aserver automatically downloads content to your computer at regular
intervals or whenever updates are made to the site.)
TECHNICAL PUBLICATIONS - an up-thrust for knowledge

You might also like