0% found this document useful (0 votes)
26 views83 pages

11ude824 - Distributed Computing: Prepared by N.Susila, Ap / It Skcet

Uploaded by

Kousi Krish
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views83 pages

11ude824 - Distributed Computing: Prepared by N.Susila, Ap / It Skcet

Uploaded by

Kousi Krish
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 83

11UDE824 – DISTRIBUTED

COMPUTING

Prepared By
N.SUSILA,
AP / IT
SKCET
Definition of Distributed System
Distributed System Definition:
◦ A distributed system is a collection of
autonomous hosts that are connected through a
computer network.
◦ Each host executes components and operates a
distribution middleware.
◦ Middleware enables the components to
coordinate their activities.
◦ Users perceive the system as a single,
integrated computing facility.
N.Susila, AP/IT, SKCET 2
Features
◦ breaking down an application into individual
computing agents
◦ distributed over a network
◦ work together on a cooperative task
Motivation for DC:
◦ Scalability: can solve larger problems without
larger computers
◦ Openness and heterogeneity: applications and data
may be difficult to relocate and reconfigure
◦ Fault-tolerance: redundant processing agents for
system availability
N.Susila, AP/IT, SKCET 3
Ingredients of a Distributed System

Component-1 … Component-n Component-1 … Component-m


Network OS Network OS
Hardware Hardware

Host-1 Host-n

Component-1 … Component-n
Middleware
Network OS
Hardware

Host-1

N.Susila, AP/IT, SKCET 4


A typical example

Component-1 … Component-n Component-1 … Component-n

Middleware Middleware

Network OS Network OS

Hardware Hardware

Host-1 Host-2
Network
Component-1 … Component-n Component-1 … Component-n

Middleware Middleware

Network OS Network OS

Hardware Hardware

Host-n Host-3

N.Susila, AP/IT, SKCET 5


Need for Distributed Computing
Application Requirements
◦ Functional
◦ Non-Functional
Non-functional requirements drive distribution of a
system
◦ Scalability
◦ Concurrency
◦ Openness
◦ Heterogeneity
◦ Resource sharing
◦ Fault-tolerance
◦ …

N.Susila, AP/IT, SKCET 6


Contd..
• Every application is part of your business model
– must make them work together!

Payables/
Receivables

Sales Accounting

Manufacturing

Inventory
Shipping/
Receiving
Engineering

N.Susila, AP/IT, SKCET 7


Contd..
Application Integration and Distributed
Processing are the same thing
◦ Constructing information-sharing distributed
systems from diverse sources:
 heterogeneous
 networked
 physically disparate
 multi-vendor

N.Susila, AP/IT, SKCET 8


Contd..

N.Susila, AP/IT, SKCET 9


Centralized Vs Distributed Systems
Centralized Systems
◦ Centralized systems have non-autonomous components
◦ Centralized systems are often build using homogeneous technology
◦ Multiple users share the resources of a centralized system at all times
◦ Centralized systems have a single point of control and of failure
Distributed Systems
◦ Distributed systems have autonomous components
◦ Distributed systems may be built using heterogeneous technology
◦ Distributed system components may be used exclusively
◦ Distributed systems are executed in concurrent processes
◦ Distributed systems have multiple points of failure

N.Susila, AP/IT, SKCET 10


Merits and Demerits
Advantages
◦ Share ability
◦ Expandability
◦ Local autonomy
◦ Improved performance
◦ Improved reliability and availability
◦ Potential cost reductions
Disadvantages
◦ Network reliance
◦ Complexities
◦ Security
◦ Multiple point of failure

N.Susila, AP/IT, SKCET 11


Examples
Video-on-Demand
◦ Client components are used to display videos
◦ Clients are hosted in the homes of the
customers of the service
◦ Server components load and transmit videos
◦ Multiple servers are needed in order to scale

N.Susila, AP/IT, SKCET 12


IT Service Architecture of a Swiss Bank
◦ Service architecture consists of heterogeneous
new and legacy components
◦ Hardware platforms range from mainframes to
NTs
◦ Programming languages including Assembler,
Cobol, C, C++, Java, …
◦ Different types of middleware can be used to
resolve distribution and heterogeneity

N.Susila, AP/IT, SKCET 13


Transparency

Dimensions of transparency in DS
◦ Access Transparency
◦ Location Transparency
◦ Migration Transparency
◦ Replication Transparency
◦ Concurrency Transparency
◦ Scalability Transparency
◦ Performance Transparency
◦ Failure Transparency
N.Susila, AP/IT, SKCET 14
Architecture Model
Architecture model is concerned with the
placement of its parts, namely how
components are mapped to underlying
network and the relationship between them,
that is, their functional roles and patterns of
communication between them.

N.Susila, AP/IT, SKCET 15


Architectural Elements
 What are the entities that are communicating in the distributed
system?
◦ From system perspective, the entities are typically processes and
sometimes supplemented by threads.

◦ From a programming perspective:


 Objects
 Components
 Web service

N.Susila, AP/IT, SKCET 16


Architectural Elements
 Communication paradigms
◦ Inter-process communication
◦ Remote invocation
◦ Indirect communication through a third entity allowing a strong
degree of decoupling between
◦ Group communication

N.Susila, AP/IT, SKCET 17


Architectural Elements
 What are the Roles and Responsibilities for Communication
Entities?
 It has major implications for the performance, reliability and
security of the resulting system.
◦ Client and Server: The most often cited when distributed systems are
discussed. The next figure illustrates the simple structure in which client
processes interact with individual server processes in separate host
computers.
◦ Server may in turn be clients of other servers. For instance, web
server is often a client of a local file server that manages the files
in which the web pages are stored. Web servers are clients of
DNS service.

N.Susila, AP/IT, SKCET 18


Clients invoke individual servers

Client invocation Server


invocation

result result
Server

Client
Key:
Process: Computer:

N.Susila, AP/IT, SKCET 19


Architectural Elements
 Peer-to-peer system: all of the processes involved in a task or
activity play similar roles, interacting cooperatively as peers
without any distinction between client and server processes. While
client and server model is simple but it scales poorly.
 Processing and communication loads are distributed across many
computers and links. Some objects are even duplicated to further
distribute the load and increase the error resilience when some
nodes fail.

N.Susila, AP/IT, SKCET 20


A distributed application based on peer processes
Peer 2

Peer 1
Application

Application

Sharable Peer 3
objects
Application

Peer 4

Application

Peers 5 .... N

N.Susila, AP/IT, SKCET 21


Model Variations
Several variations on the above models
can be derived from the consideration of
the following factors:
◦ The user of multiple servers and caches to
increase performance and resilience.
◦ The user of mobile code and mobile agents.
◦ Thin client: User’s need for low-cost
computers with limited hardware resources
that are simple to manage.

N.Susila, AP/IT, SKCET 22


A service provided by multiple servers
Service

Server
Client

Server

Client
Server

 The servers may partition the set of objects on which the service is
based and distributed them between them, or they may maintain
replicated copies of them.
 Web provides a common example of partitioned data

N.Susila, AP/IT, SKCET 23


Web proxy server
Client Web
server
Proxy
server

Client Web
server

 Cache is a store of recently used data objects that is closer than the
object themselves.
 Proxy server and caches: web proxy server provides a shared
cache of web resources for the client machines at a site or across
several sites.

N.Susila, AP/IT, SKCET 24


Mobile code and Mobile agent
a) client request results in the downloading of applet code

Client Web
server
Applet code

b) client interacts with the applet

Web
Client Applet server

 Mobile code
 Mobile agent

N.Susila, AP/IT, SKCET 25


Thin clients and compute servers

Network computer or PC Compute server

Thin network Application


Client Process

 Thin client refers to a software layer that supports a window-based user


interface on a computer that is local to the user while executing
application programs on a remote computer.
 Instead of downloading the code onto local computer, it runs them on
the remote powerful server, which has the capacity to run large number
of applications simultaneously. It is usually a cluster or at least multi-
processor machine.
 The main drawback is in highly interactive graphical activities such as
CAD and imaging processing, where the delay are increased by the
need to transfer image and vector information between the link.
N.Susila, AP/IT, SKCET 26
Architectural Patterns:
1: Software and hardware service layers in distributed systems

Applications, services

Middleware

Operating system

Platform

Computer and network hardware

N.Susila, AP/IT, SKCET 27


Architectural Patterns:
2: Two-tier and three-tier architectures

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
2
© Pearson Education 2012 N.Susila, AP/IT, SKCET 8
Fundamental Models
 It deals with a more formal description of the properties that are
common in all of the architectural models.
 Since no global time in a distributed system, so the clocks on
different computers do not necessarily give the same time as one
another.. Messages communications can be affected by delays and
suffer from a variety of failures and vulnerable to security attacks.
 Issues can be addressed by the following three models:
◦ The interaction model deals with performance and with difficulty of
setting time limits.
◦ The failure model attempts to give a precise specification of the faults
that can be exhibited by processes and communication channels.
◦ The security model discusses the possible threats to processes and
communication channels. It introduces the concept of a secure channel,
which is secure against those threats.

N.Susila, AP/IT, SKCET 29


Fundamental Models

 All system models have some common fundamental properties. The


following models are used to capture these:

◦ Interaction
◦ Failure
◦ Security

N.Susila, AP/IT, SKCET 30


Two variations of interaction model

◦ Synchronous distributed system: Lower and upper


bounds are defined for the time to execute each step of a
process; each message transmitted over a channel; each
process has a local clock whose drift rate from real time
has a bound.
◦ Asynchronous distributed system including Internet: no
bounds can be defined.

N.Susila, AP/IT, SKCET 31


Figure 2.8
Real-time ordering of events
send receive receive
X
1 m1 4
m2
send
2 3 receive Physical
Y
receive time

send
Z
receive receive

m3 m1 m2
A
receive receive receive
t1 t2 t3

N.Susila, AP/IT, SKCET 32


Figure 2.9
Processes and channels

process p process q

send m receive

Communication channel
Outgoing message buffer Incoming message buffer

N.Susila, AP/IT, SKCET 33


Figure 2.10
Omission and arbitrary failures
Class of failure Affects Description
Fail-stop Process Process halts and remains halted. Other processes may
detect this state in synchronous system using timeout.
Crash Process Process
. halts and remains halted. Other processes may
not be able to detect this state.
Omission ChannelA message inserted in an outgoing message buffer never
arrives at the other end’s incoming message buffer.
Send-omission Process A process completes asend,but the message is not put
in its outgoing message buffer.
Receive-omissionProcess A message is put in a process’s incoming message
buffer, but that process does not receive it.
Arbitrary Process or
Process/channel exhibits arbitrary behaviour: it may
(Byzantine) channel send/transmit arbitrary messages at arbitrary times,
commit omissions; a process may stop or take an
incorrect step.

N.Susila, AP/IT, SKCET 34


Figure 2.12
Objects and principals

Access rights Object


invocation

Client
result Server

Principal (user) Network Principal (server)

N.Susila, AP/IT, SKCET 35


Security
 The security of a distributed system can be achieved by
securing the processes and the channels used for their
interactions and by protecting the objects against
unauthorized access.
 Access right specify who is allowed to perform the
operations of an object. So we include users as the
beneficiaries of access right. The invocation and result
should have an authority which is called principle.
 The server checks the identify of principle for each
invocation and see if it has the access right.
 The client may check the identify of the principle behind the
server to ensure the results come from the required server.

N.Susila, AP/IT, SKCET 36


Figure 2.13
The enemy

Copy ofm

The enemy
m’
Processp m Processq
Communication channel

Enemy can copy, alter or inject messages as they travel across the network. Such
Attack present a threat to the privacy and integrity of information and the integrity
Of the system.

N.Susila, AP/IT, SKCET 37


Figure 2.14
Secure channels

Principal A Principal B

Processp Secure channel Processq

Secure channel can be used to defeat the threat to communication channel


based on cryptography and authentication.

N.Susila, AP/IT, SKCET 38


External data representation and
marshalling
■ At TCP/UDP-level data are communicated as ‘messages’ or
streams of bytes – hence, conversion/flattening is needed
◆ Converted to a sequence of bytes
■ Either both machines agree on a format type (included in parameter list)
or an intermediate external standard is used:
◆ External data representation: an agreed standard for the representation of
data structures and primitive values
◆ e.g., CORBA Common Data Rep (CDR) for many languages; Java object
serialization for Java code only

N.Susila, AP/IT, SKCET 39


External data representation and
marshalling
■ Marshalling: process of taking a collection of data items
and assembling them into a form suitable for
transmission
■ Unmarshalling: disassembling (restoring) to original on
arrival
■ Three alter. approaches to external data representation
and marshelling:
◆ CORBA’s common data representation (CDR)
◆ Java’s object serialization
◆ XML (Extensible Markup Language) : defines a textual format for rep.
structured data

N.Susila, AP/IT, SKCET 40


External data representation and marshalling
■ CORBA CDR
◆ 15 primitive types: short, long, unsigned short, unsigned long,
float, double, char, boolean, octet, any
◆ Constructed types: sequence, string, array, struct, enum and
union
* note that it does not deal with objects (only Java does: objects and
tree of objects)
Type Representation
sequence length (unsigned long) followed by elements in order
string length (unsigned long) followed by characters in order (can also
can have wide characters)
array array elements in order (no length specified because it is fixed)
struct in the order of declaration of the components
enumerated unsigned long (the values are specified by the order declared)
union type tag followed by the selected member
N.Susila,
AP/IT,
SKCET
41
External data representation and
marshalling notes
index in
sequence of bytes 4 bytes on representation
0–3 5 length of string
4–7 "Smit"
‘Smith’
8–11 "h "
12–15 6
length of string
16–19 "Lond"
‘London’
20-23 "on "
24–27 1934
unsigned long

The flattened form represents a Person struct with value: {‘Smith’,


‘London’, 1934}

N.Susila, AP/IT, SKCET 42


External data representation and
marshalling
■ Java object serialization
◆ Both objects and primitive data values may be passed as arguments
and results of method invocations
◆ The following Java class is equivalent to Person struct
public class Person implements Serializable {
private String name;
private String place; private
int year;
public Person(String aName, String aPlace, int aYear) {
name = aName;
place = aPlace; year =
aYear;
}
// followed by methods for
accessing the instance
variables
}

■ Serializable interface (provided in java.io package)


N.Susila, AP/IT, allows
SKCET its 43
External data representation and
marshalling
■ Serialization: flattening objects into a serial form
for storing on disk or transmitting in a message
■ Deserialization: restoring the state of objects from
serialized form
◆ Assumed has no prior knowledge of the types of the
objects in the serialized form
◆ Some information about the class of each object is
included in the serialized form

N.Susila, AP/IT, SKCET 44


External data representation and
marshalling
■ Java objects can contain references to other
objects
◆ All objects it references are serialized
◆ References are serialized as handles
* A handle is a reference to an object within the
serialized form
* Each object is written once only
* Handle is written in subsequent occurrences

N.Susila, AP/IT, SKCET 45


External data representation and marshalling
■ To serialize an object:
◆ (1) its class info is written out: name, version number
◆ (2) types and names of instance variables
* If an instance variable belong to a new class, then new class info must be

written out, recursively


* Each class is given a handle

◆ (3) values of instance variables

◆ Example: Person p = new Person(“Smith”, “London”,


1934);
Serialized values Explanation
Person 8-byte version number h0
class name, version number
int year java.lang.String java.lang.String
3 name place number, type and name of
instance variables
1934 5 Smith 6 London h1
values of instance
variables

The true serialized form contains additional type markers; h0 and h1 are handles
N.Susila, AP/IT, SKCET 46
External data representation and marshalling

■ To make use of Java serialization:


◆ To serialize: create an instance of ObjectOutputStream
◆ Invoke writeObject method passing Person object as argument

◆ To deserialize: create an instance of ObjectInputStream


◆ Invoke readObject method to reconstruct the original object

ObjectOutputStream out = new ObjectOutputStream(… );


out.writeObject(originalPerson);

ObjectInputStream in = new ObjectInputStream(…);


Person thePerson = in.readObject();

N.Susila, AP/IT, SKCET 47


External data representation and marshalling

■ Use of reflection
◆ Reflection: inquiring about class properties, e.g., names, types
of methods and variables, of objects
◆ Allows to do serialization and deserialization in a generic
manner, unlike in CORBA, which needs IDL specifications

■ Serialization
■ Deserialization

N.Susila, AP/IT, SKCET 48


External data representation and marshalling

■Each process contains objects, some of which can receive remote


invocations, others only local invocations
■Objects need to know the remote object reference of an object in another

process in order to invoke its methods


■Remote object references are passed as arguments and compared to

ensure uniqueness

remote local C
invocation invocation local E
invocation remote
invocation F
B local
A
invocation D
N.Susila,
AP/IT,
SKCET 49
External data representation and marshalling
■ A remote object reference must be unique over space and time
■ (IP address + port #) + (time of creation + local object number)

■in case objects live only in the process that created them, the reference

can be used as an address of the remote object


■to allow remote objects to be relocated in a different process on a

different computer, the reference cannot be used as address


■ Its interface tells the receiver what methods it has (e.g. class Method)
32 bits 32 bits 32 bits 32 bits

Internet address port number time object number interface of


remote object

N.Susila, AP/IT, SKCET 50


Client-Server communication

■Designed to support typical client-server


interactions
■Request-reply: usually synchronous (why?)
■Request-reply protocol: built over UDP or TCP
(unnece. overheads)
Ack Client
■ Se
Request
doOperation
getRequest
message select object
(wait) execute
Reply method
message sendReply
(continuation)

N.Susila, AP/IT, SKCET 51


Client-Server communication
■ Request-reply protocol: 3 primitives

•public byte[] doOperation (RemoteObjectRef o, int methodId, byte[] arguments)


•public byte[] getRequest ();
•public void sendReply (byte[] reply, InetAddress clientHost, int clientPort);

Client Server

Request
doOperation
getRequest
message select object
(wait) execute
Reply method
message sendReply
(continuation)

N.Susila, AP/IT, SKCET 52


Client-Server communication
■ Request-reply message structure:

messageType int
requestId
(0=Request, 1= Reply)
objectReference
methodId int
RemoteObjectRef
arguments
int or Method
■ Marshalled RemoteObjectRef: array of bytes
32 bits 32 bits 32 32 bits
bitsaddress
Internet port number time object number interface of
remote object

N.Susila, AP/IT, SKCET 53


Client-Server communication
■ Message identifiers may be required by some schemes:
■ duplicate request handling

■ requestId: taken from an increasing sequence of

integers by the sending process


■ identifier for the sender process: IP address +

port #
■ Duplicate request handling: (scenario?)
■ if reply not sent: make sure only execute once

■ if reply sent: need to re-execute, two cases

■ a server whose operations are all idempotent, ok


■ otherwise, use a “history”, record of transmitted
messages

N.Susila, AP/IT, SKCET 54


Coordination in Distributed Systems
Coordination is needed by distributed systems
but hard to achieve:
◦ Events happen concurrently
◦ Communication links are not reliable
◦ Computers can crash
◦ New nodes can join the systems
◦ Asynchronous environments

 Need of an efficient way to coordinate a group


of processes

N.Susila, AP/IT, SKCET 55


Group Communication
What is a group?
◦ A number of processes which cooperate to
provide a service.
◦ An abstract identity to name a collection of
processes.

Group Communication
◦ For coordination among processes of a group.

N.Susila, AP/IT, SKCET 56


Need for Group Communication
Highly available servers (client-server)
Database Replication
Multimedia Conferencing
Online Games
Cluster management

N.Susila, AP/IT, SKCET 57


Types of Communication
Unicast
◦ Point-to-Point Communication
◦ Multiple copies are sent.
Broadcast
◦ One-to-All Communication
◦ Abuse of Network Bandwidth
Multicast
◦ One-to-multiple Communication

N.Susila, AP/IT, SKCET 58


Desired Group Communication
• Name Abstraction

• Efficiency Þ Multicast

• Delivery Guarantees Þ Reliability, Ordering

• Dynamic Membership Þ Group membership service

N.Susila, AP/IT, SKCET 59


Properties of Communication
Ordering
◦ Total ordering, causal ordering
Failure behavior
Reliability
◦ Validity, integrity, agreement

N.Susila, AP/IT, SKCET 60


Properties of a group
Name of group
Addresses of group members
Dynamic group membership

Options:
◦ Peer group or client-server group
◦ Closed or Open Group

N.Susila, AP/IT, SKCET 61


Peer Group
All the members are equal.
All the members send messages to the
group.
All the members receive all the messages

N.Susila, AP/IT, SKCET 62


Client – Server Group
Replicated servers.
Clients do not care which server answers.

N.Susila, AP/IT, SKCET 63


Multicast Communication
Use network hardware support for
broadcast or multicast when it is
available.
Send message over a distribution tree.
Minimize the time and bandwidth
utilization

N.Susila, AP/IT, SKCET 64


Reliability
Correct processes: those that never fail.

Integrity
A correct process delivers a message at most once.
Validity
A message from a correct process will be delivered by
the process eventually.
Agreement
A message delivered by a correct process will be
delivered by all other correct processes in the group.

 Validity + Agreement = Liveliness

N.Susila, AP/IT, SKCET 65


Ordering
Assumptions: a process belongs to at p1
most one group.
p2
• FIFO
– if mp m’p, all correct processes p3
that deliver m’p will deliver mp
(that is from the same sender)
before m’p.
p1
• Causal
– if m m’, all correct processes p2
that deliver m’ will deliver m
before m’. p3
• Total
– if a correct process delivers m
before m’, all other correct p1
processes that deliver m’ will
deliver m before m’. p2

p3

N.Susila, AP/IT, SKCET 66


Examples
Assumption:
◦ Reliable one-to-one send operation (e.g. TCP)

Basic multicast
◦ Requirement:
 All correct processes will eventually deliver the message from
a correct sender.
◦ Implementation:
 B-multicast( g, m): p  g: send( p, m);
 On receive( m) at p: B-deliver( m) at p.
 Properties: integrity, validity.

N.Susila, AP/IT, SKCET 67


Group membership service
Four tasks:
◦ Interface for group membership changes
◦ Failure detector
◦ Membership change notification
◦ Group address expansion
 Group partition:
– Primary-partition – one partition only
– Partitionable – many partiations at once

N.Susila, AP/IT, SKCET 68


Group views
Group views:
◦ Lists of the current ordered group members
◦ A new one is generated when processes join or
leave/fail.
View delivery
◦ When a member is notified of a membership change
◦ Requirements
 Order
 if p delivers v(g) v’(g), no other process delivers v’(g) v(g).
 Integrity
 if p delivers v(g), p  v(g).
 Non-triviality
 if q joins a group and becomes indefinitely reachable from p,
eventually q is always in the view p delivers.

N.Susila, AP/IT, SKCET 69


View-synchronous group comm
Extend the reliable multicast semantics with
group views.
◦ Agreement
 Correct processes deliver the same set of messages in any
given view
◦ Validity (closed group)
 Correct processes always deliver the messages they send.
 p  v0(g) does not deliver m in v0(g)  p  v1(g) for processes
that deliver m.
◦ Integrity

N.Susila, AP/IT, SKCET 70


2 Marks QA
What is tightly coupled and loosely coupled
systems.
In tightly coupled systems, there is a single
system wide primary memory or address
space that is shared by all the processors.
Eg. Parallel processing systems. In loosely
coupled systems, the processors do not share
memory and each processor has its own
local memory. Eg. Distributed computing
systems.
N.Susila, AP/IT, SKCET 71
List down the different types of distributed computing
models.
Minicomputer model - it is a simple extension of
centralized time sharing system.
Workstation model - it has several workstations
interconnected by a communication network.
Workstation server model - it is a network of personal
workstations , each with its own disk and local file system.
Processor pool model - the processors are pooled
together to be shared by the users as needed.
Hybrid model - it is a combination of both workstation
server and processor pool model

N.Susila, AP/IT, SKCET 72


What are the reasons why DCE is
gaining popularity.
Inherently distributed applications,
information sharing among the users,
resource sharing, better price
performance ratio, shorter response times
and higher throughput, higher reliability,
better flexibility.

N.Susila, AP/IT, SKCET 73


What is distributed operating system
It is a program that controls the resources of
a computer system and provides its users
with an interface or virtual machine that is
more convenient to use than the bares
machine. The tasks for this operating
systems are to present the users with a
virtual machine that is easier to program
and to manage the various resources of the
system.
N.Susila, AP/IT, SKCET 74
What do you mean by transparency.
It is the main goal of Distributed
Operating system to make the existence of
multiple computers invisible and provide
a single system image to its users. The
collection of various processors seems as
a single uniprocessor to the user who is
working in this environment.

N.Susila, AP/IT, SKCET 75


What is Access transparency.
 This means the users should not need or be able to
recognize whether a resource is remote or local. This
should allow users to access remote resource in the
same way as a local resource.
 

What is Location transparency.


 The two main aspects of location transparency are name
transparency, which is the name of the resource should
not revels any hint as to the physical location of the
resource and user mobility is, refers to the fact that no
matter which machine a user is logged onto.
N.Susila, AP/IT, SKCET 76
What is Replication transparency.
 All distributed operating systems have the provision to create
replicas (additional copies) of files and other resources on
different nodes of a distributed system and is transparent to
the users. The two important issues are naming of replicas
and control of replication.
 

What is Failure transparency.


 It deals with masking from the users’ partial failures in the
system, such as a communication link failure, a machine
failure, or a storage device crash. A DOS having failure
transparency property will continue to function, perhaps in a
degraded form, in the face of partial failures.

N.Susila, AP/IT, SKCET 77


What is Migration transparency.
 For better performance, reliability and security, an object that is
capable of being moved is often migrated from one node to
another in a distributed system. The aim is to ensure that the
movement of the object is handled automatically by the system.

What are the issues in achieving migration transparency.


 Migration decisions such as which object is to be moved from
where to where should be made automatically by the system.
Migration of an object from one node to another should not
require any change in its name. the inter process communication
mechanism should ensure that a message sent t the migration
process reaches it with out the need for the sender process to
resend it.

N.Susila, AP/IT, SKCET 78


What is Concurrency transparency.
 This means that each user has a feeling that he or she is the
sole use of the system and other users do not exist in the
system. For providing this, the resource sharing mechanism
must have the four properties as event ordering, mutual
exclusion, no-starvation and no-deadlock.

What are the types of failures found in DCE.


 Fail-stop failure - the system stops functioning after
changing to a stae in which its failure can be detected.
 Byzantine failure - the system continues to function but
produces wrong result.

N.Susila, AP/IT, SKCET 79


Give the two types of semantics for one to many communications.
 Send-to-all a copy of the message is en tot each process of the multicast
group and the message is buffered until it is accepted by the process.
 Bulletin-board - a message to be multicast is addressed to a channel
instead of being sent to very individual process of the multicast group.

How the degree of reliability is expressed in one to many communication.


 0-reliable - no response is expected by the sender from any of the receivers.
 1-reliable - the sender expects a response from any of the receivers.
 m-out-of-n-reliable - the multicast group consists of n receivers and the
sender expects a response from m (1 < m < n) of the n receivers.
 All-reliable - the sender expects a response message form all the receivers
of the multicast group.
 

N.Susila, AP/IT, SKCET 80


16 Mark Questions
Explain Client server model in detail.
Explain the difference between intranet
and internet.
Explain about WWW in detail.
Write in detail about group
communication.
Describe about the architectural model in
detail.
Explain about the various system models.

N.Susila, AP/IT, SKCET 81


Write in detail about the fundamental
model of the distributed system.
Write in detail about the features of a
distributed computing environment.
Explain about marshaling with suitable
example

N.Susila, AP/IT, SKCET 82


Thank You!!!

You might also like