0 ratings0% found this document useful (0 votes) 2K views205 pagesDC TechNeo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
University of Mumbai
Distributed Computing
(Course Code : CSC801) (Compulsory Subject)
Semester 8 - Computer Engineering
Strictly as per the New Syllabus (REV-2019 ‘C’ Scheme) of
Mumbai University w.e.f. academic year 2022-2023
Dr. Nilesh Madhukar Patil
Ph.D. (Computer Engineering)
Associate Professor, Computer Engg. Department,
SVKM's D J Sanghvi College of Engineering, Mumbai
Dr. Pratik Kanani Mr. Aniket Kore
Ph.D. (Computer Engineering) M.E. (Computer Engineering)
Assistant Professor, Computer Engg. Department, Assistant Professor, Computer Engg. Department,
SVKM's D J Sanghvi College of Engineering, | SVKM's D J Sanghvi College of Engineering, Mumbai
Mumbai
M8-78
Tecu-Neo
‘] PUBLICATIONS
tN
n Shah VentureMODULE 1
12
13
14
15
Introduction to
CHAPTER 1 Distributed Systems
Introduction to Distributed Systems.. .
GQ. _Dofine Distibuted System. Slate the advantages and disadvantages of a distributed system,
144 Characteristics of Distributed Sysiom..
1.4.2 Advantages ol Distibuted System...
1.1.3 Disadvantages of Distibuted System
1.44 Applications Area of Distributed System..
Issues in Distributed System... —
UO, Explain cifferant issues and goal related to dosign of Distibuled System. Explain transparency in detall.
VO, Whateretieevesindenignnge detoanaeyon? ROUEN...
ua. What are the common issues with which the designer of a heterogeneous distributed system must deal?
4.2.1 Types of Transparencies
GO. Explain different types of transparencies in distiouted system,
Goals of Distributed Systems sit
UG. State the goats of distributed system.
‘Types of Distibuted System,
GO. Explain different types of distribulod systems with neat diagram.
4.41 Distbuted Computing Systems,
4.4.1(A) Cluster Computing..
1.4.1(8) Grid Computing...
1.4.2. Distrbuted Information Systems:
1.4.2{A) Transaction Processing Systems
1.4.2{8) Enterprise Application Integration...
143 Distinuted Pervasive Systems
Dietibuied Systom Models.
Uo. Whetarevarous etm models stbuee ston? UES 19
15.1 Physical Model.16
7
18
19
4.10
aw
Y)
41.5.1(A) Eauly distributed systoms
1,5.1(B) Intorel-scale distbutod aystoms .
1.8.1(6) Contemporary distributed systome oo
1.8.1(0) Types of Physical Modols Based on Hardware and Computation
1.52 Architectural Mod.
V0. Emlahsotware moos supported by ho etibted ayer TURE
Explain with neat diagram,
VO, Discuss in brie! the diferent architectural models in Distibuled System.
1.52(A) Clot Server Model
1.5.2(B) Peer-to-Peer Model ws
1.5.2(C) Comparison between Client-server and Peer-to-Peer Model.
1.5.3 Fundamental Model.
Va. Explain torent ypes of Flure Meds.
4.5.44) Interaction Mode! .
1.5.3{B) Faull Model.
15.3 (C) Security Model.
‘Hardware Concepts.
1.6.1 Difference Between Multiprocessor and gis ate
Software Concep!..
UG. Differentiate between NOS, DOS and Middleware in the design of a Distributed Systems {IXUEINEVEE)
1.7.1 Distributed Operating Systems.
1.72 Network Operating Systm.
17.3 Middoware
1.7.4 — Comparison batween tha DOS, NOS, and Middleware.
‘Services offered by Middiewar
Typos of Midtoware
ca. Explain different types of middleware in the distributed system..
Models of Middlowar
UO, Whatae ihe aterent models of misseware 7
Cent-Sorvar Architectural Model...
1.11.1 Ditierent Types of Client-Server Architecture...
. Chapter End...
(MU-New Syllabus wel academic year 22-23)
Tech-Neo Publications.A SACHIN SHAH VentsDistributed Computing (MU) Introduction to Distributed Systems)....Page no. (1-3)
Dist) INTRODUCTION TO DISTRIBUTED SYSTEMS.
Faq Define Distributed Sytem, State he achanages and daadvaniages of a ddbited syste r iis)
# A group of separate computers that are connected by a network and are able to work together on a job is known as a
distributed system,
© Ineessenee, itis a group of autonomous entities working together to address a challenge that neither of entity can handle
alone,
‘= Adistributed system is made up of several separate computers that work together to give users the impression of using a
single computer.
© This feasible to construct a single system made up of numerous computers and use it as a single consolidated system by
employing high-performance computers connected by high-speed network.
‘« Insuch a system, many resources combine to provide the necessary processing speed, and the operating system is in
charge of system upkeep and general maintenance.
‘© Computers ina distributed system are connected via a fast network rather than being in isolation.
«Teimplis that a large number of computers, whether workstations or desktop systems connected together, may do tasks
normally performed by a high performance supercomputer.
X %.
\
Computing
rede | Computing nodes are
datasources and sinks
Interaction
(ujFig 1.1.1 : Architecture of Distributed Systems
41.1.1 Characteristics of Distributed System
Distributed systems have the following characteristics :
(1) No standard physical clock.
(2) has improved reliability.
3) Improvement inthe performancefcost ratio.
(4) Access 10 distant information and resources,
(5) Distributed systems are scalable.
(MU-New Syllabus [Link] academic year 22-23) ‘Tech-Neo Publications..A SACHIN SHAH VentureDistributed Systema)
Distouted
W112 Advantages of Distributed System
(1) Applications are by definition distri! when used in ditibuted eystems:
(2). Users who are spread ont geographically share information im distributed systems. en
(3). Resource Exchange is possible that is Autonomous systems cam share resources from
(4) Tis more flexible and offers superior price: performance rato.
(5). Th responds faster and moves data more quickly
W113 Disadvantages of Distributed System
(1). Hardware and software requirements vary depending onthe applic
(2) Asresoarces are shared among several systems, there i a security issue caused by’ simple access to data.
{G) Data transport may be hampered by networking saturation; if there Is a network latency, the user will have trons,
setting the data,
(4) The database used by distributed systems is far more complicated and difficult to operate than the database: used by
single user system,
1.1.4 Applications Area of Distributed System
(1) Finance and commerce are the focus of distributed systems, including Amazon, eBay, online banking. and ¢-comer:
websites,
@) Search engines, Wikipedia, social media, and cloud computing are examples of the information society which us
Distributed systems in the background.
(3). AWS, Salesforce, Microsoft Azure, and SAP all use loud technologies.
(4) YouTube, online gaming, and music provide entertainment.
(GS) Healtiare : Health Informatics and online patient records,
(6) Elearning for education.
Logistics and transportation: GPS, Google Maps.
(8) Management ofthe environment: sensor technologies.
Dp 12 SSUES IN DISTRIBUTED SYSTEM
0Q. Explain dteren sues and goal related to design of Distributed Stem. Explain wansparency in deta '
£UQ. What ae the Isues in designing a distributed system? a NT:
The following ure te issues in distributed systems :
() Heterogeneity : Networks, computer hardware, operating systems, and developer implementations are all examples 0!
heterogeneous systems, Middleware is a crucial element of the client-server heterogeneous distributed syst
environment. A set of services known as middleware allows users ;
across a diverse distributed system, ‘and applications to communicate with one anothet
(MU-New Syabus wef academic year 22-23)
Tech-Neo Publications..A SACHIN SHAH Ventese rp retort Dita Sytem). Page no (1-5),
@ Openness : The degree to which new resourve-sharing services may be madé accessible to users determines the
istribeted system's openness,
@)_Scalabitity : The system should be scalable even when the number of users and linked resources significantly grows
46 Security : High degrees of encryption are required to secure shared resources and sensitive data since data is shared
cress rarious FesoUTeS,
© Faiture handling : Corrective steps should be put in place to deal with this situation because when hantware of
software failures happen, they may provide inaccurate results oF cease before finishing the planned calculation,
{© Concurrency : 1's possible for several clients to try to access a single shared resource at once. The same read, write,
and update of resources are requested by several users. Any object in a distributed system that represents a shared
‘escurce mast make sure that it functions property in a multi-threaded setting.
(Transparency : Transparency makes sure that users of application programmers see the distributed system as a single,
‘collaborating system rather than a group of independent systems. The user should not be aware of the location of the
‘services, and moving data from a local workstation to a distant one should be seamless,
its final objective. The complexities should not worry the user of the distributed system from using it ie. the complexities
should be hidden from the user who uses the distributed system. This property of the distributed system is called its
transparency There are different kinds of transparencies thatthe distributed system has to incorporate. The following are the
Gferent transparencies encountered in the distributed systems.
(2) Location Transparency
(4) Replication Transparency
(©) Migration Transparency
(8) Scaling Transparency
> (1) Access Transparency
‘+ Clients should be unaware of the distribution of the files. The files could be present on a totally different set of servers
which are physically distant apart and a single set of operations should be provided to access these remote as well as the
‘ocal files.
Applications written for the local file should be able to be executed even for the remote files. The examples illustrating
this property are the File system in Network File System (NFS), SQL queries, and Navigation of the web.
> (2) Location Transparency
© Clients should sce a uniform file name space. Files or gfoups of files may be relocated without changing their
ppathnames. A location transparent name contains no information about the named object’s physical location,
© This property is important to support the movement of the resources and the availability of services. The location and
‘access transparencies together are sometimes referred as Network transparency. The examples are File system in NFS
and the pages of the web.
> (3) Concurrency Transparency
© Users and Applications should be able to access shared data or objects without interference between each other, This
(MU-New Syllabus w.e- academic year 22-23) ‘Tech-Neo Publications..A SACHIN SHAH Ventureroan sted ISEMS) Paper
‘ athes
oes eit Ue coMCUTENEY ABET than he
i y isms in a distributed system,
wemnyatweanl gen Te cis are accessed simultaneously:
concurrency of a central system, The shared obj ‘Automat
. T
+The concureney contol and its implementation is a hard task: The examples ae NFS, © Tele a
(ATM) network.
> (A) Replication Transparency
This kind of transparency should be mainly incorporated forthe distributed
‘or more sites for more reliability.
© The client generally should not be aware that a replica
operations to retum only one set of values. The examples are
> (5) Failure Transparency
‘© Enables the concealment of fauls, allowing user and application programs 10 complete their tasks despite the f2i
hardware or software components, Fault tolerance is provided by the mechanisms that relate to access Wransparency
+The distributed system is more prone to failures as any ofthe component may fil which may lead to degraded sr,
or the total absence ofthat service. As the intricacies ae hidden the distinction between a failed and a slow
[process is difficult. Examples are Database Management Systems.
> (6) Migration Transparency
© This transparency allows the user to be unaware of the movement of information or processes within @ system with,
affecting the operations of the users and the applications that are running.
‘© ‘This mechanism allows for the load balancing of any particular client, which might be overloaded. The systems tt
implement this transparency are NFS and Web pages.
filesystems, which replicate the da,
ted copy of the data exists. The clients should alse,
Distributed DBMS and Mirroring of Web pages
> (7) Performance Transparency
[Allows the system to be reconfigured to improve the performance as the load varies.
> (@) Scaling Transparency
* A system should be able to grow without affecting application algorithms. Graceful growth and evolution is =
important requirement for most enterprises.
+ A-system should also be capable of scaling down to small environments where required, and be space andor tix
efficient as required. The best-distributed system example implementing this transparency is the World Wide Web.
DH 1.3. GOALS OF DISTRIBUTED SYSTEMS .
‘A aumber of important goals must be met in order for the effort involved in developing a distributed system
successful. A distributed system should be opea, scalable, and easy for users to access resources. The objective is to 40
following at the maximum level possible. .
Q) Bringing Users and Resources Together : A distributed system's major objective is to give users easy acces
remote resources and to share those resources in a regulated way with other users.
2) Transparency : Transparency indicates that a distributed system may seem to users and applications as if it»?
single computer system.
(3) Openness : Distributed systems must work to be as open as possible, An stl fe
An open di i at fe?
services in accordance with standards that outline the syntax and semantics of these stir! some
(MU-New Syllabus wef academic year 22-23) a ‘Tech-Neo Publications..A SACHIN SHAH Ver™*Distributed Computing (MU) Introduction to Distributed Systems)...Page no. (1-7
(@ Scalability ; The general trend in distributed systems is larger systems. Algorithms that work well for systems with
1000 machines can be used by systems with 100 machines, but cannot be used! at all by systems with 10,000 machines.
‘To begin with, the centralized algorithm does not scale well.
() Reliabilty ; The main goat was to increase the dependability of distributed systems relative to single processor
systems. According to the concept, when one machine malfunctions, another one adjusts to it.
(© Performance : If a distributed system cannot achieve the desired performance, it is pointless to develop it as
transparent, flenible and reliable, A distributed system ought to offer the highest level of performance.
(DA 1.4 TYPES OF DISTRIBUTED SYSTEM.
different types of distribu
ed systems with neat diagram.
‘Before delving ito the concepts of distributed systems, Jet us fist exa
the various types of distributed systems.
1.4.1 Distributed Computing Systems
* These distributed computing systems are designed to provide high computing performance to meet the demands of real-
time applications,
‘© Incluster computing the underlying hardware consists of a collection of similar workstations or PCs, closely connected
by means of a high-speed localarea network.
* In addition, each node runs the same operating system. The situation becomes quite different in the case of grid
computing.
«This subgroup consists of distributed systems that are often constructed as a federation of computer systems, where
cach system may fall under a differen: administrative domain, and may be very different when it comes to hardware,
software, and deployed network technology.
%1.4.1(A) Cluster Computing
© Cluster computing is a type of distributed computing that involves the use of cluster, which is a group of
interconnected computers that work together asa single system.
+ Ina cluster computing system as shown in Fig. 14.1, the computers in dhe cluster are connected together by a high-
speed network, and each computer has its own processing power, memory, and storage.
© The main advantage of cluster computing is that it allows for the paraie] processing of large amounts of data and the
execution of complex applications that require alot of computational power.
* By dividing the workload among the computers in the cluster, a cluster computing system can achieve better
performance and scalability than a single computer
Master nade Compute node Compute node
‘Component
of
parallel
[L_Perateics
[_tecaios_]}
(uaFlg. 1.4.1 : Cluster Computing System
(MU-New Syllabus we, academic year 22-23) Tech-Neo Publications_A SACHIN SHAH VentureDistributed Computing (MU {eirodtion to Disirbuled Systems)... Pago no. (1-8)
The primary benefit of cluster computing is that it makes it possible to an complicated programs that need. ly op
processing power and analyse massive volumes of data in simultaneous
11a single computer by diste!butn
1g the workload actos
© Acluster computing system may perform and scale better th
the machines in the cluster.
Ye 14.148) Grid Computing
cons are brought togetir 10 allow te
A-key issue ingrid computing sytem is that resources from diferent organizati
collaboration of a group of people or institutions.
© Typically, resources consist of compute servers, SIOTAES foci
‘© Given ts nature, much ofthe software for realizing grid compu
different administrative domains.
OS; Yiledows
ities, and databases.
ing evolves around providing access € FsOUTEe frre
0: KaliLinur
(0S; Linux Mint
(uaFig. 142: Grid Computing System
1.4.2 Distributed Information Systems
1 type of distributed systems may be found in businesses that have been pres
lity to be an unpleasant experience.
hitecture that made integrating apps into
© Another majo sented with a plethora of
networked applications yet have found interoperab
‘Many current middleware solutions are the consequence of working with an arc
ide information systems simpler.
cemterpri
© Inthe following section, we concentrate on foliowins
ww 1.4.2(A) Transaction Processing Systems
In practise, dasbase operations ar often cazred out inthe form of transactions.
“There may be primitives in a mail system for sending, receiving, and forwarding mall.
fe ‘They might be substantially different n an accountng system. However, READ and WRITE are common instances,
Ordinary statements, procedure calls, ad the lke are likewise permitted insides transaction
“The characteristic feature ofa transaction is either all of these operations are executed or none are executed.
+ These muy be system calls, library procedures, or bracketing statements in a language, depending on the
itplemexion ‘This all-or-nothing propery of transaction is one ofthe four characteristic properties that transactions
© More specifically, transactions are:
(1) Atomic :To the outside world, the transact
(2). Consistent : The transaction does not violate system invariants
(3) Isolated : Concurrent transactions do not interfere with each other.
(4) Durable : Once a transaction commits the changes ae permanent,
1g two forms of distributed information systems,
happens indvisibly.
(MU-New Syllabus we.f academic year 22-23) Tl rech-icoPubcatons.A SACHIN SHAH VertueDistributed. Introcdvtlon to Diatrtnded Gystom)....Paga 00. (1-9
& 1.4.2(B) Enterprise Application Integration
+ Application components, in particular, shauld be able to inleract directly with one another rather than relying on the
requestreply behaviour allowed by transaction processing aysterns.
The main idea was that existing applications could directly exchange information,
‘© An application component may successfully submit a request to another application component via fermote procedure
calls (RPC) by performing a local procedure call, which results in the request being packaged as a mewage and
‘ransmitted to the eallee,
‘© Similarly, as a consequence of the procedure call the result will be transmitted back and returned to the application.
© Asobject technology grew in prominence, ways for calling remote objects were created, resulting in what is known as
remote method invocations (RMI).
+ An RMZis similar to an RPC in that it acts on objects rather than applications. RPC and RMI have the drawback of
‘requiring both the caller and the callee to be active tthe time of the communication.
%. 1.4.3 Distributed Pervasive Systems
+ The devices in the distributed pervasive systems are frequently tiny, battery-powered, transportable, and have just a
wireless connection, however not all ofthese features apply to all devices.
«+ Furthermore, these traits do not have to be interpreted as restricted.
#Teis the next step in integrating common things with microprocessors so that this data can interact,
These systems are built to distribute data, processes, and control
© Fewexamples of pervasive systems are :
@ Home System : Many houschold equipments are now digital, allowing us to operate them from anywhere and at
any time.
(i) Electronic Health Care Systems : Smart medical wearable gadgets are already available, allowing us to
frequently check our health.
Gi) Sensor Networks : A sensor network is often made up of tens to hundreds or thousands of small nodes, each of
which is equipped with a sensing device. Most sensor networks communicate wirelessly, and the nodes are often
powered by batteries. Because of their limited resources, limited communication capabilities, and limited power
consumption, high efficiency is onthe list of design objectives.
15°" DISTRIBUTED SYSTEM MODELS
[0Q "Wet are various aye modes of dstibuted system? ’
Basically distributed system models are categorized as follows:
1.5.1 Physical Model
‘© Apphysical model represents the underlying hardware pieces of a distributed system that abstracts from the features of
the computer and networking technologies used.
‘+ The physical model may be divided into three generations of distributed syste
scale distributed systems and contemporary distributed systems,
: early distributed systems, Internet
Hardware and software components can communicate and coordinate their operations by sending and receiving
messages.
(MU-New Syllabus wef academic year 22-23) Tech-Neo Publications...A SACHIN SHAH VentureIntroducion to Datibutod Systoms)...Page 9. (1-19
Distributed Computing (MU)
TH ASACA) Early distributed systems
Berge inthe tate 1970s a ealy 1980 as rest of the nection of loaL ara networking techoology
The tem gerry compried of 10 10 100 nodes comected WY 8 LAN, with Fimited Internet access and service,
(cg shored Hocal printer ile servers)
[Link](B)_ Internet-seale dlstrbuted systems
e Tearoe inthe 19905 asa real ofthe expansion ofthe Internet
4s Teigetades a large amber of nodes from many organizations an
pen standards and services, and ascated mnidleware technologies sue
snd it has increased heterogeneity, a greater emphasis cy
has CORBA and Web Services.
ww 1.5.1(C) Contemporary distributed systems
odes that are loeation-independent nodes.
+ Theemergence of mobile computing leads to
1d support for ad hoe intereonnectivity.
These modes should have adstional feature suchas service discovery 2
© Teaiad in the development of eloud computing and ubiqitoes computing
“© Cloud computing isa collection of independent odes that perform a spec
to deliver certain high-performance services,
+ Ubiquitous computing has ested in the transition from discrete nodes
in everyday objects in an environment.
iffc ole o pools of nodes that work together
to systems in which computers are embeded
a 1.5.1(D) Types of Physical Models Based on Hardware and Computation
(1) Minleomputer Model
“© Minicomputer moles are simple extensions of centralized time-sharing systems
This approach uses a communication neivork (0 connect a few minicomputers or supercomputers. Multi-user
minicomputers are comsnon.
Each minicomputer has multiple interactive terminals. Each user Logs into one minicomputer with remote aocess
colbers.
The network fets users access remote resources on other machines.
information databases on various machines, the minicomputer
© When remote users want lo share resources
paradigm might be employed.
+ Miniconputer-based distributed computing systems include early ARPAnet.
(2) Workstation Mode!
4+ Multiple workstations connected by a nctwork make up a worksaton-base distributed computing system,
{© Bach workstation in a building or campus muy be a single-user computer with its own disk,
‘+ Insuch a setup, many workstations ae dle at any given time, wasting CPU time.
+ Therefore, the workstation model connects ll these workstations via w high-speed LAN so that idle workstations
‘ean process the jobs of users who are signed onto other workstations and dont have enough processing power st
thelr own workstations
(MU-New Sylabus we academic year 22-23) LB recteeo Pubiatins.A SACHIN SHAM Venue
oe a Jilbutod Systonna)
Weoresniin
‘Distributed Computing (MU)
Wortaiaion — Wodataion—— Wrkatatn
(@) Minicomputer madel (b) Workstation model
Wotton Workstation Wodlaton Terminals Toric Texmials
\Minjcomputar a8 Minicemputer as Minicomputer 2s, SS
file server dalabasa server print server Poti of praeessors
(© Workstation-server model (@ Processor-poo! model
(NFig, 1.5.1: Distributed System Physical Models
(@) Workstatlon-Server Model
* A distributed computing system based on the workstation-server architecture has a few minicomputers and several
‘workstations (most of which are diskless, but some may be diskful} connected via a communication network,
© Diskless workstations on a network must use a file system implemented by a diskful workstation or a
rminicomputer with a die.
© One of more minicomputers implement the file system. Other minicomputers can offer database and print
functions. Thus, each minicomputer serves many services as a server.
‘© Inthe workstation-sorver approach, there are workstalions and specialized computers (maybe workstations) that
:un server programs (called servers) to manage and provide access (o shared resources.
Multiple servers manage a type of resource in a distributed computing system for reliability and scalability,
© In this model, users log onto their home workstations. The user's home workstation does normal
computing activities, but requests for special servers (such as file or database servers) are routed to a server that
executes the user's requested activity and sends the output to the user's workstation,
© Inthis paradigm, user processes do not need to migrate io server machines to complete their task.
(@) Processor-Pool Model
+The processor-pool model is based on the fact that users rarely need computational power but ocezsionally need a
Jot of it for short time (e.g, when recompiling a program consisting of a large number of files after changing a
basic shared declaration).
(MU-New Syllabus wef academic year 22-23) Tech-Neo Publications..A SACHIN SHAH VentureDistibuted Computing (MU)
© Thus, ante the worksaton serge va the yu eph
tere fn the procensen pew
+ May netwonked mferscrinpaery and
ony fv an eu a sbtescompating system oP
ication program,
© acl pool processor fas mem
(8) Hybrid Model
© Mostaistute ecm system ae
{© Most computer users merely edit de
the workstainn-server approach
roel I eter In workplace with groups of users that cf
it using the werksttlon-server model
eins, vend ema, and tun minor programs.
Simple wsage
+ Tyeprocesson post m
mn do big computing.
W1S.2 Architectural Model
F0q.” 7 taplan sotware models supported by the distbuted system, é
1a _biscsstn ve! the ferent acetal adel i Dsributed Systm Explin wth nat diagram. :
+A distibwted system architecive model simplifies and abst the functionality
disteboted system
4+ thdeas with he arangement of components throughout the retwork of computers, ar thet in
one oer
of the individual components of
tendependence, ie. ho»
these components communicate
‘+ Hecontaing sever] archilectral aspects including :
(0 Communicating entitles : This section idcaifies the eniies in the distributed syste
‘one another.
) Comnvunleation paradigm : This refers to how various entities interact with one another and the communication
paradigm they [Link] are three kinds of communication paredigms : (3) inter-process communicaticr,
{b) remote invocation, and (c) indirect communication,
(Ui) Rotes and Responsibilities : This port deseibes what rofes and responsibilities this entity has in the larger
architecture, It is divided into two archicectural styles : (a) client-server architecture and (b) peerto-peer
architeture.
mthat are communicating with
B.
4S
A.
Nb
Peer to Peer
{USiFig. 1.5.2 : Distributed Architectural Model
Client / Server
(MU-New Syllabus we f academic year 2223) Tech-Neo Publications. SACHIN SHAH VentureDistributed Comput Introduction to Distributed Systoma
we 1,5.2(A) Cllent-Server Model
Ina client server network, there are clients und servers.
[Link] ean be a device oF» program. It helps the end users (0 access the web
Some examples of clients are desktop, laptops, smaiphnes, web browsers, ete.
Asserver isa device or a program that responds fo the elients with the services.
provides files, databases, weh pages, shared resources according 10 its lype:
Inthis network, a client requests services from the server.
The server listens tothe client requests and responds to them by providing the required service.
The main advantage of a client server network is that it more secure as the server always manages the access and
security.
Wis also easier to take backups,
(On the other hand, itis not very reliable asa failure in the server will affet the functioning of the clients. Furthermore,
itis expensive to set up and maintain,
%1,5.2(B) Peer-to-Peer Model
Ina peer to peer network, there is mo specific client or a server.
‘A device can send and receive data directly with each othet,
Each nod can elther be a client or a server. I can request or provide services accordingly.
Annode is also called a peer.
In peer to peer network, a node joins the network and start providing services and request for services from other nodes.
‘There are two methods to identify which node provides which service.
‘Arnode registers the service it provides into a centralized lookup service.
‘When any node requires obtaining a service, it checks the centralized lookup to find which node provides which
facilites, Then, the service providing node and service requesting node communicate with each other.
Inthe other method, a node that requires specific services can send a broadcast message to all other nodes requesting
service. Then, the node that has the required service responds to the requested node by providing the service,
‘There are multiple advantages in peer to peer network. It is easier to maintain. It is not necessary to have a specialized
expert to maintain the network. The entre network does not depend on a single machine. Moreover, it does not require
extensive hardware to setup the network.
On the other hand, a peer to peer network is not very secure. It can also be difficult to maintain an org
siructure, Furthermore, the users need to manage their own backups,
d file
%_1.5.2(C) Comparison between Cilent-server and Peer-to-Peer Model
‘Table 1.5.1 : Client-Server Model Vs Peer-to-Peer Model
“Client-Server Model Peer-to-Peer Model
Ina client-server nctwork, we have a speeific | In a peer-to-peer network, clients are not
server and specific clients connected to the | distinguished; every sode act as a client and server.
server.
(QAU-New Syllabus wef academic year 22-23)
Tech-Neo Publications_A SACHIN SHAH VentureClient-Server Model
"A Peer-to-Peer is Tess expensive to implemen
‘A Client-Server network is more expensive 10
implement.
ex stable and scalable, if the number of pees
i table and scalable than 2 peer-O-
bmn increases in the system.
Stability
peer network ~
Data Tha client-server network, the data is stored in} 18 2 peerio-pecr network, each peer Has its ox
a centralized server data.
Server TA server may get overloaded when many } A server IS not bottlenecked since the services are
2 stomere make simultancous service requests. | dispersed a7P0nE numerous servers Using a poer-to.
peer network,
Focus Sharing the information. Connectivity
Service “The server provides the requested service in| Each nove Ras the ability to both request ong
response tothe cleus request. delivers services.
Perfomance | Because the server does the bulk of the work, | Because resources 3e shared in a big peer-to-peer
performance is unaffected by the growth of | network performance will likely to suffer.
clients.
‘Security TA Client Server network isa secured network | The network's security deteriorates, and is
tecause the server can verify a client's access | susceptibility grows asthe number of peers rises
to any area of the network, making it secure.
[Link] Fundamental Model
{ug — Explain different types of Failure
Models
with one
+ A system's fundamental model identifies the system's primary elements and specifies how they interact
another.
«A model's objective is to express all ofthe underlying assumptions about the system being described.
To explain distributed systems, three models are used: the Interaction Model, the Failure Model, and the Security
Model.
2. 1.5.3(A) Interaction Model
Processes in a distributed system engage with one another via passing messages, resulting in communication (message
transmission) and coordination (synchronization and ordering of operations) amongst processes.
+ Each process has a distinct state. Process interaction in distributed systems is influenced by two major factors: (1)
Communication speed is frequently a limiting factor, (2) there is no ane global concept of time since clocks on variovs
systems drift
‘Communication scross @ computer network bas performance characteristics in terms of latency, bandwidth, and jt.
‘The Interaction model has two variants: Synchronous distributed system and Asynchronous distributed system.
(MU-New Syllabus wef academic year 22-23) Tech-Neo Publications..A SACHIN SHAH VenteDistributed Computing (MI Introduction to Distibuied Systome)....Page no. (1-15)
+ Synchronous distributed systems are those in which the time required to execute each step of a process has « known
lower and upper construint; each sent message is received within a known bounded time and each process has a local
clock with a known drift rate from real-time. It is challenging to rive at realistic values and to offer assurances about
the values selected,
+ Asynchronous distributed systems have diferent process execution specds, message transmission delays, and clock
Arie rates and they are all unbounded, They are identical tothe Internet, in which there is no inherent limit on server or
network load, and hence-on how long it takes, for example, to upload a file over FTP. Asynchronous distributed systems
are common in practice,
vw. 1.5.3(B) Fault Model
‘+ Both processes and communicstion routes may fail in a distributed system.
Failures are classified into three types : omission failures, abitrary failures, and timing failures.
(1) Omission Failures: These are situations in which a process or communication channel fails to accomplish the acts
that tis expected to do. It includes both process errors and communication omissions.
@) Arbitrary Fallures A process continues to run, but responds with a wrong value in response to an invocation. It
~ might also arbitrarily omit to reply. This kind of failure is the hardest to detect.
(3) Timing Fallures : These are only relevant to synchronous distributed systems with time constraints on process
execution, message delivery, and clock drift rate. Any of these errors might result in replies not being provided to
customers within a cena time frame
W15.3 (C) Security Model
+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 that they encapsulate against unauthorized access.
+ Recontains the following :
(1) Object protection : Access rights are used to indicate who is authorized to do an objects actions, such as who is
allowed to read and write a file.
@) Securing processes and thelr interactions : The same is true fora client that gets the result of an invocation but
is unsure if itis from the appropriate server.
(2) Adversary : Privacy and information integrity might be compromised. An ‘enemy’ who has the ability to copy,
change, or insert messages as they move through the [Link] kind of attack is 10 save copies of
‘communications and respond to ther later.
(® Use of Security Models : There are several methods for enhancing security measures such as cryptography,
authentication, and authorization.
DW 1.6 HARDWARE CONCEPTS je a
Ee
Hardware in distributed systems can be organized in several different ways :
(1). Multiprocessor System (2). Multicomputer Systems
(MU-New Syllabus wes academic year 22-23) Tech-Neo Publications_A SACHIN SHAH Venture{introduction jo Distributed Systems)
Disttutnd Computing (MU)
} (1) Maltiprocestor System
© Multiple prosesors are used inal
rie system ler spre! troughoutthe network oF Frese 32 Fixed lation
recess to RAM.
Armiosessr sytem i compute stern wth io or mere CPUS and comme
wih ft EeF0G8 ANd fg
© Anerewed system enceution sped i the man objective of using a maliPveces
application execution serving as secondary objectives.
. rai share te mena wien comes ose and oes NOW? Figt61
(i) Shared Memory (Tghily Compl) + Shared meray TS meer that_many processors may ace,
rive callabaation or redace dupiaton, Shared memory it 8 eI wl
simttancouely in order 19
transmitting data oer diferent processes
{a Private memory (Loosely Coupled) Mlcompater with cach CPU directly connected t0 its local memory ax
referred to as having private memory,
Mutiprocessers ‘Muttecrputars
‘Single adsross p00 ve peat meriry
matin Sharedmeror,
pemeaanS
poaeETEINS
TX preenor [i] Menon
tuaFig:6.: Shared and private memory architecture with multiple processors
> (2) Maldcompater Systems
A computer sytem with many procesters thal ee inked
together to solve a problem is refemed to a8 a
smulicompuer system.
ach CPU has separate memory that is ony sceesibe
by that processor, and tose processors ac concted by
an inerconnetion nctwork that allows them to interact
with one anos.
+ Arnmilticomputer sytem can be hormogeneous where al
CPUS and memory ae identical. Kt can also be
heterogeneous where all CPUs and memory ae not
identical
(nPig, 1.6.2: Multicomputer System
(en bus ma ada yeor 2223) Teer Neo PubeaonsA SACI SAH ViDistrbuted, (Mu)
Introduction to Diatbariod
B 1.6.1 Difference Between Multiprocessor and Multicomputer Systems
Table 1
Multiprocessor System
‘A multiprocessor iv a system with two or more central
processing units (CPUs) that can perform multiple
tasks
‘A moltiprocessor system i
‘operates with multiple CPUs,
Single computer that
Construction of muliprocessor is
ineffective than a muhicomputer,
jeult and cost
|: Multiprocessor System Va Multicomputer System
‘A multicomputer is a system with multiple processors
that are attached via an interconnection network wo
etform » computation task.
‘A multicomputer system is a cluster of computers that
operate us 2 singular computer.
Construction of multicomputer is easier and cost
effective than a multiprocessor.
(4) | In multiprocessor system, program tends to be easier. | In multicomputer system, program tends to be more
difficult.
[ (5) | Multiprocessor supports paralle! computing. “Multicomputer supports distributed computing.
Wi 1.7 SOFTWARE CONCEPTS”
£0 Diterentate between NOS DOS
oes DaReUeoruEC aren
Middleware inthe design of a Distbuted Systems,
«The software of a distributed system consists of an appropriate operating system that is used to facilitate interaction
between a user and the hardware. This imeraction is necessary for the system to perform.
© There are three types of software widely used in distributed systems: distributed operating system, network operating
system and middleware,
3B. 1.7.1 Distributed Operating Systems
* A fundamental kind of operating system is adistributed operating system (DOS).
+ Acdistribuied operating system is « distibuted system that abstracts resources, such as memory or CPUS, and exposes
common services and pri
es that jn tur are used by distributed) applications,
© Ina nutshell, it's the same thing that Android or 10S does for mobile phone apps or Linux, macOS or Windows does for
desktop apps, just that it happens to coordinate and orchestrate resources that are distributed, typically in a cluster of
‘machines and makes the cluster look like one big box to the app.
* Through a single communication channel, it links several computers.
+ Eachof these systems also has its own processor and memory.
‘* These CPUs may also communicate through high speed buses,
‘+ Distributed operating system is also called as “tightly coupled system”,
(MU-Hew Syllabus wef academic year 22-23)
[eal rech-Neo Publications A SACHIN SHAH VentureSystem
Structure of Distebated Opera
citcally to handle workstations, databve
swe computer functions.
Se tTat_ Neework Operating Systeme
(NOS) is created spe
re and network platforms
‘cated nenwork operating system
ite and printer access baring and er networks
system, where multiple hardwa
fe Amogerating system
yous multicomputer 83
sharing, application sharing
this sesitcaly designed for the beterogen
are supp
‘eTehac ohipfe operating systems that
Iris also calle as “Foosely coupe system
wo examples of standalone operat
Windows NT and Digital's OpenVMS are 1
inction as network operating Systems.
2008 are some of the most well-
2003, and Microsoft Windows Servet
are ning on diferent hardware platforms.
ing systems that have
2 Micro
kiparpose features and can also fr
Microsoft Windows Server
‘+ Linu, Mac OS
known network operating systerns.
lachine A Machine 8.
Machine
(usFig. 1.7.2: Structure of Network Operating System
1.7.3 Middleware
In the contest of distributed applications, middleware refers to software that offers additional services above and
teyond those offered by the operating system (0 allow data management end communication across the various
sistributed system components.
«Complex distributed applications are supported and made easier by middleware
‘Middl li li :
Heware often enables interoperability between applications that run on different operating systems, by supplying
fiom can exchange data in a standards-based way
Tech-Neo Publications..A SACHIN SHAH Venture
services so ut the appli
(MU-New Syllabus we. academic year 22-23)pstributed Computing (MU) {Introduction to Distributed Systems)
‘2 Middleware sits “in the middle" between application software that may be working on different operating syste
«Middleware comes in many forms, including database middleware transoctlonal middleware, intelligent middleware,
content-centric middleware, and Imessage-oriented middleware.
«Middleware provides a variety of services, including contol services, communication services, and security services.
Machine A Machine B Machine C
Distributed applications
(CAF Ig. 1.73 : Structure of Middleware
[Link] Comparison between the DOS, NOS, and Middleware
‘Table 1.7.1 : Comparison of DOS, NOS, and Middleware
(4) | Degree of Transparency Very High High Low High
(2) | Same OS on all nodes Yes ‘Yes. No No
@)_| Number of copies of OS 1 N N N
Model
ay | Bask ica :
(4) | Basis for Communication ‘Shared Memory Messages Fikes Specific
(5) | Resource Management Global, central Global, distributed Per node Per node
(6) | Scalability No Moderately Yes Varies
@ | Openness Closed Closed Open Open
(21.8 SERVICES OFFERED BY MIDDLEWARE ee (wae
There are many services that are offered by the middleware system. Many of them are common in most systems.
(1) Communication services : Middleware is used to facilitate communication, It offers services like procedure calls
¢708s networks (sending and receiving messages over networks in either a local or remote call), remote-object method
invocation (connecting one system to another local system that is remotely located), message queuing system (messages
are stored in queues and move through them based on priority), and advanced communication streams (it provides
Aotification of any event going to oceur in future.
(MU-New Syllabus [Link] academic yest 22-23) IB tech eoPubizatons_A SACHIN SHAH VentureDietibuted Computing (MU) introdytion to Distributed Systome)...Pagn no. (12
So nadie data va dbuted systemare known a iflormtion Yi. tf,
vis managed using Naming Services), aegy
Q) Information services : Services usec ee
services like large-scale, system-wide naming services (where dat 7 rr oe
Aireetory services (where dita is stored in the diectony) Toention sis i waching ie objects, persistent stor,
i it plieate without losing consist
facilities, data caching, and replication (eache data and rep
fontrat when, where, and how 1o access data, Examples inclu
©) Car een re pec ef mies a a 2
om siesta Srp te migraton of ito, for gin two workstations Om ‘workstation is heavily Taded the,
cok meine a whinge ST
ng comes
° fore He ‘as authentication and authorization, encryption, ‘and inspection of whole system.
osname ono te ns
(6) Messaging : Its used to send or messages in terms of requestreply primitive.
(Querying It is used to query ondistibwted objects
(Concurrency: This used to shar and aces resources concumeny
Di o1.9 | TYPES OF ‘MIDDLEWARE
Gq Sapa efferent types of midalewore in the Hi
Peas
‘Middleware comes in a variety of forms, ‘some of which are listed here.
(i) MessageOrieated Middleware (MOM) (2) Object Middleware
@) RPCMidlewae (a) Database Middleware
(6) Portal Middleware
(5) Transaction Middleware
(7) Content-centric Middleware (8) Embedded Middleware
(1) Message Oriented Middleware (MOM)
‘Asa kind of middleware, message-oriented middleware feciltetes communication between applications. It provides 2
messaging framework for applications to communicate with one another asynchronously, without requiring both pares
are referred to as security services. It offen
to be online at the same time
«By using MOM, apps may communicate without worrying about how the other works physieally or technically. This
rakes it possible for programs vniten in various programming languages and built for various platforms 10
‘communicate with one another.
MOM systems often have characteristics like message routing, message persistence, and message transformation ©
allow the fast and reliable flow of messages among spplications, Examples of MOM systems include Apache
‘ActiveMQ, IBM WebSphere MQ, and Mierosoft Message Queue.
> (2) Object Middleware
Object middleware facilitates communication between different programs and pans. It provides a set of services and an
underlying architecture that allow programs to use each other's data and objects as if they were their own.
Object middleware often includes festures like object-oriented messaging, distributed object management, and object
transaction support to promote efficient and reliable communication between programs,
Object middleware technologies inelude CORBA and Java's Reimote Method Invocation. In distributed systems, where
applications run on a number of different computers connected through a network and must communicate with on
another fo get access to a set of shared resources and services, object middleware is often used. It allows programs (©
Tech-Neo Publications..A SACHIN SHAH Venture
(MU-New Syllabus wef academic year 22-23)pietrbuted Computing (MU)
{tract ina way that Is Independent of
‘maintenance of distributed applications,
> (3) RPC Middleware
Introduction to Distributed System: no, (1-21
the underlying network and operating aystem, which simplifies the design and
RPC middleware is sor of middleware that enables programs to Invoke procedures or fonctions on remote systems as
iethey were lal Tt provides messaging architecture thal allows programs to make request remate proceses and
gel responses concurrently,
RPC middleware often includes features like message routing, message persistence, and message transformation to
facilitate the efficient and reliable transfer of requests and responses between applications.
Ore such RPC middleware framework is Apache Thi, Programs using RPC middleware ae often employed in
distributed syste when access a shared resources or services requires the execution of remote program,
> (A) Database Middleware
Database middleware
4 kind of middleware that provides an interface between applications and dstabases, letting
[Programs read from and write to databases without understanding their underlying structure or operations.
+ Database middleware often includes features like data access libraries, data mapping tools, and query languages to
facilitate high-level, abstracted communication between programs and the dalabase.
> (5) Transaction Middleware
‘The architecture for handling distributed transactions is provided by transaction middleware, a kind of middleware It
enables programs to perform atomic operations that may either finish or roll back any changes, ensuring that
information is always correct and consistent
‘Transaction middleware often includes features like transaction management, ransaction coordination, and transaction
eovery to facilitate the execution of transactions across many systems, Transaction middleware systems like the Java
‘Transectio API are one example
> (6) Portal Middleware
By definition, portal middleware is software that provides a gateway through which users may access and integrate a
wide varicty of applications and services via the Internet. It eliminates the need for users to switch between applications
‘or websites in order to have access to the many programs and data that are available to them,
Portal middleware often includes features like authentication and authorization, user profile management, and content
publishing to facilitate the development and maintenance of portal applications.
A few of popular portal middleware options include Liferay and Microsoft SharePoint. Whenever there is a need for
several applications and data sources to be accessed and managed via a unified portal, portal middleware is often used.
(7) Content-centric Middleware
‘This kind of middleware is known as “content-centric* because it concentrates on the distribution and ‘management of
content rather than on the management of applications and data, It's a set of resources that may be used to provide apps
‘more contol over data and make it easier for them fo share resourees with one another.
Content-centric middleware often includes capabilities like content Management, content routing, and content
transformation to facilitate the efficient and reliable distribution of data, Some examples of content-centric middleware
ae content delivery networks and content management systems (CDN).
} (8) Embedded Middleware
Embedded middleware is software designed to nun on devices with limited hardware and software resources, such as
‘those found in embedded systems, sensors, and [oT devices,
By using the offered infrastructure and services. applications may interact with the device's hardware and software,
‘communicate with one another, and have access to shared resourees.
(MU-New Sylsbus wef academic yeat 22-23) ‘Tech-Neo Publications..A SACHIN SHAH VentureDistributed Computing (MU) Aewroction to Distributed Syston) Paya no (1-29
‘©The development of software for embeded! devices Is fellate by enbediled middleware, which often inchy.,
ffs, ant deview abstraction. Examples of erty iy,
features: ke resouree management, cenmnmeation prot
imiktleware inctade the oT platform and the Real-Time Operating yt (RTOS). ;
© Bimbo middleware soften ysed in applications for crf ster"8 and Inceruet af Things (1OT) devices becayy
to the limited handware and software resources of suc devices, whieh us ie cntoully regulated (9 ensure Sah 4,
effective operation.
WA 1,10 MODELS OF MIDDLEWARE
TQ. _ Whatare the diferent model of middleware?
leware diseussed in this section,
(2) Vertial distribution mode!
Peer Model
‘There are five distinet models of mid
(Client-server model
(3). Horirontal distribution modet (A) Peer:
(5)_Hybrid Model
> (1) Glent-server model
«eTheclien-cerver model is way of organizing an implementing middleware, where the middleware is 8 separate eit
services that provides services to client applications
Danivted Oy Ny) poration. Pag (29
©The REV wet tnpion eion tramgsaeney wih Hl
oat or rormato
Voss hsy are gat Reet es eal rs of WHO
1X are an tnt fe engi UNC whew ieee prveestee
Cato
ne largely the sim, We,
ale ator nl fost reliable than fo
liferent ai
.
ee the wae fat vue hey each ae tel on SAL situa) (eaten
Anktras yore alte baring the sane pyskal ess ATS ne
evewteleu the pyabal ktens poe lieent HF they a \
separate busts he
8 Doving a Remete Moire CAREC ean {infec ean
ing envnament an oe teen
ranseny the
rues the motor al 10 eed
(1) Vee 8 saepernts ant
executon
posses parameters tespen they
te entrant tine the poeestie CECI
(2). The 8 temnatery Rack the rosatt podeel 1
he calling envionment, Byecution abso pest
regular persestre call,
1 Sand reply and wae
y 9 predare 10- Remure
for next requey,
nes just he a executor
aFig. 2.3.2: Implementation of RPC
“The two majoe components of the RPC model are
4A) Cattng Provedure : 1s in the foal machine and contacts the emote prowess 12 be exceuted by placing x
request meseage tothe eal! proce
IW muy be locate on the same computer asthe calling procedure or en
{@) Called Procedure (remote Procedure):
faeentcomret. Gets the praneters from the request message sent by the caling procedire and executes
accontingly giving the results via a reply message Co the calling process
«¢Tretwo types of messages involved inthe implementation of an RPC system are as follows:
(a) Call Messages: They ae sent by the lent othe server for request execution ofa partenlarremele procedure.
2). Reply Messages Mey are sent by the server tothe cent for returning the result of remote procedure execution,
LTA Features of RPC
{nan operating system, remote procedure call (RPC) has the following features, such as:
(1) RPC hides the complexity ofthe message passing process from the user,
2) RPConly uses specific layers ofthe OST model like the transport layer.
(@) Clients can communicate with te server by using higher-level languages.
(4). RPC works well with both local environments and remote environments.
(8) The programof RPC is written in simple ce an is casily understood by the programmer.
(6) The operating system can bundle processes and threads involved in RPC casi
(9). The operating system hides the abstractions of RPC from the user,
2.5.2 Types of RPC
‘These ae te five types ofthe remote procedure call,
(1) Synchronous RPC : This is the normal method of operation, The client makes call and does not continue uni A=
server retums the reply.
(MU. New Slabus wef academic yeat 22-23)
Tech-Neo Publications..A SACHIN SHAH Venture(@ Functions of Batch-mode RPC :
( Wasinimizes the overhead involved in sending a request as it sends them over the network in one batch to the
server.
(i) Tis ype of RPC protocol is only efficient for application that needs lower cal rates.
(Gi) needs a reliable transmission protocol.
(© Broadcast RPC : RPC clients have a broadcast facility, that is, they can send messages to many servers and then
receive all the consequent replies.
‘uncon of Broadcast RPC
(1) Allows you to specify that the client's request message must be broadcasted.
@) You can declare broadcast ports.
{G) Thelps to reduce the load on the physical network
(#) Callback RPC = The client makes a nonblocking client/server call, and the server signals completion by calling 2
procedure associated with the client.
Functions of Callback RPC
( Rewotely processed interactive application problems
(G Oifers server with clients handle
(Gi) Calthack makes the client process wait
(Gu) Manage callback deadlocks
(9) Ikfaclitates a peer-to-Peer paradigm among participating processes.
235.3 Extended RPC Models
‘The extended RPC models use RPC for their communication, The extended RPC models like lightweight RPC (Doors).
‘Asynchronous RPC, Deferred Synchronous RPC, and One-way RPC are discussed in this section.
(1) Lightweight RPC (Doors) (2) Asynchronous RPC
(3) Deferred Synchronous RPC (A) One-way RPC
> (1) Lightweight RPC (Doors)
* RPCs can be optimized by using lightweight RPC whem the client and server processes are running on the same
computer,
Although the kemel tries to reduce overhead when it discovers that the packets are directed to itself, message
Construction overhead is still unavoidable.
‘Therefore, the client simply sends a buffer from the client to the server over a shared memory region, inserting the RPC
Fequest and the parameters, and instructing the server to access it from there rather than sending an explicit network
communication.
Since memory is shared for message sending and receiving, explicit message forwarding is not required.
‘The client sends the arguments to the stack, which is a trap for the kernel. The kernel, in turn, changes the memory map
of the client in such a way that the memory location where the arguments were pushed in the stack is now available to
the server. .
(MU-New Sylabus wef academic year 22-23) ‘Tech-Neo Publications A SACHIN SHAH Venture‘_Afer thatthe server retrieves the request from the memory rion and begins processing it. Following the omy,
cf the execution on the server'end the reply is then ransmited back othe client in the same manner
+ Wight poset avoid he overhead of sering messages over petwork one wed is HOSEA mt,
communication,
+ The decision of using Lightweight RPCS canbe made either
4 Forcompile-sine support linking agains! Lightweight RPC i forced ever
“The ter option ito compiein bth Lightweight ard usual RPC suppor and choose 0
iethen anded hy the RPC ratne system: it can decide whether tosend a message over TCP oF we sar ey
baffers,
‘Doors in Soars OS was the frst implementation of Lightweight RPC
(2) Asynchronous RPC
compile time or at run time.
the usual RPC using a compiler Nag bi
eat runtime.
‘waits only for an
+ Client makes an RPC call, and oie
cinowledgement from the server and not tbe staal
response,
The server then processes the request asynchronously and
seis back the response asynchronously to the client which
generates an inerupt for the clint to ead the respome
trocived froze server. This useful when the RPC call is e—e—— ETT Te
1 Tong-running computation on the server, sxzanwhile, the
client can continue execution,
> (3) Deferred Synchronous RPC
“+ Here the client and server interact through two asynchronous RPCs.
The client sends an RPC request to the server, and the
cleat waits only for ackrowiedgement of the received
request from the server, post that the client earries on
with its computation,
© Once the server processes the request, it sends back the
response vo te client which generates an interrupt on the
client side, the client then sends a response received
acknowledgement tothe server.
(wnFig, 23.4: Deferred Asynchronous RPC
> (4) Oneway RPC
4¢Theclient sends an RPC request and doesn't wait for an seknowledgement from the server, it just sends an RPC reqs
and continues execution.
‘¢ The reply fromthe server is handled trough an interrupt generaed on receipt ofthe response on the client side
‘+The downside here is that this model isnot reliable. If it is running on a non-eliable transport medium such es UDP
there will be no way to know ifthe request was received by the server.
% 2.3,3(A) Implementing RPC Mechanism
©The implementation of an RPC mechanism is built on the idea of stubs, which offer an abstraction of a procedure cl
(al is entirely normal by hiding the interface tothe underlying RPC System from clients.
(MU-New Syliabus we f academic year 22-23) Tech-Neo Publications.. SACHIN SHAH Verte