Professional Documents
Culture Documents
Dis Fromnt Merged
Dis Fromnt Merged
Dis Fromnt Merged
NAME: SHEETHLL.P
REG NUM: 20MID0206
CLASS NUMBER: VL2023240504729
GUIDED BY: Dr AYYASAMY S
DIGITAL ASSIGNMENT- 3
(LAB)
Guwstion 3 :
a Remste Posedse Call (epe::
Paebe Batewaut :
The qupuided Sava ode inglemais.
Te syste cowmpmes
Bankew) and a clied cEaubtieut) tht'
|Conmunicate eve the wtusok
pmoivide ad cowgume banking seutees
alane, dqenting
te proeues
Q. RPC
RPC
the
sewer aud cewe e'sslts
dtaie.
a. cliut Itenahiou:
preses
atian lased on te
sutome
PROGRAM:
BankServer.java
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.Naming;
BankClient.java:
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.Naming;
// Example usage
String accountNumber = "123456";
System.out.println("Balance for account " + accountNumber + ": " +
bankService.getBalance(accountNumber));
bankService.deposit(accountNumber, 500);
System.out.println("New balance after deposit: " +
bankService.getBalance(accountNumber));
bankService.withdraw(accountNumber, 200);
System.out.println("New balance after withdrawal: " +
bankService.getBalance(accountNumber));
} catch (Exception e) {
System.err.println("Bank client exception: " + e.toString());
e.printStackTrace();
}
}
}
BankService.java:
import java.rmi.Remote;
import java.rmi.RemoteException;
BankServiceImpl.java:
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Map;
import java.util.HashMap;
INPUT:
OUTPUT:
b, LAMPORT ALsORITHM :
Peotlem Shateast:
The pueblem tatament addensec in t
Jowa code is
lencsion
|amget nswes
that oe
secton waletme,
onneent auiss
could sleacd to data inoiistuy
onditios
Piatibited
sbibeted
owmeate
laes to sdhcal echows ode.
. utusl Frlusien: he woe
adduud stichual enlusion,
Pne site can
uteal sechon at time, prvtiY
coneusnett enetion.
3.
lcinglameuts
tual enhsien
Jampot& algoritln Wses
aress, poesns.
S alleus
ti tu vihal
sechon, t entubs ub eihcal eehon code
3.Eriting wukal sechon :
vihcal sechon
andl
4 ttandlg mesagea:
.k. The uede
simlates
nhange ietven sites for tommuwucahion
REqUeeT
RELEASE mn
And, ueerclination.
5. Tinmeatanps:
imastamgs ae
pontal ditibtel
sites.
PROGRAM:
import java.util.PriorityQueue;
class Site {
int id;
int timestamp;
class Lamport {
int numSites;
int[] requestQueue;
PriorityQueue<Site> priorityQueue;
// Example usage
int siteId = 0; // Assuming site ID starts from 0
int timestamp = 1; // Initial timestamp
lamport.enterCriticalSection(siteId, timestamp);
// Critical section code here
lamport.exitCriticalSection(siteId);
}
}
Peobla
code
s. Riant -shuauala tgoitm; fautual
niluson distnbuted iachinig
gesnisim -bascd aproak,uohere a'ate
REGUEST nsages to ohun sites to oltain
sends
pessmiasior
eet oden to ed aue Sllauy 4.
5.Tineetamps:
lat
4:
to
sall esags REPLY ns ik acode,
iieno indicating ites, ethur all om
es eEPLY ucawes site
othuu all to
secfon ihoal
,?
PROGRAM:
import java.util.ArrayList;
import java.util.List;
class Message {
int senderId;
MessageType type;
int timestamp;
enum MessageType {
REQUEST,
REPLY
}
class Site {
int siteId;
boolean requestingCS;
int timestamp;
List<Site> deferredRequests;