Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Suppose you wish to close a bank branch and introduce a teller machine. Your com

ID: 667603 • Letter: S

Question

Suppose you wish to close a bank branch and introduce a teller machine. Your company has won the tender to develop an application-level protocol to be used between an automatic teller machine and a bank’s centralized computer. There are the following requirements that must be satisfied:

Your protocol should allow a user’s card and password to be verified, the account balance (which is maintained at the centralized computer) to be queried, and an account withdrawal to be made.

Your protocol entities should be able to handle the all-to-common case in which there is not enough money in the account to cover the withdrawal.

Your tasks are as follows:

a) 2 marks: Specify your protocol by listing the messages exchanged and the action taken by the automatic teller machine or the bank’s centralized computer on transmission and receipt of messages.

b) 5 marks: Draw a figure that shows the operation of your protocol for the case of simple withdrawal with no errors, using a time diagram.

c) 2 marks: Explicitly state the assumptions made by your protocol about the underlying end-to-end transport service.

Explanation / Answer

Messages from ATM machine to Server
Msg Name Purpose

HELO Let server know that there is a card in the ATM
machine
ATM card transmits user ID to Server
PASSWD User enters PIN, which is sent to server
BALANCE User requests balance
WITHDRAWL User asks to withdraw money
BYE User all done
Messages from Server to ATM machine (display)
Msg Name Purpose

_____________________________________________________________________________________________

b)OK Last requested operation (PASSWD, WITHDRAWL) OK
ERR Last requested operation (PASSWD, WITHDRAWL) in
ERROR
AMOUNT Sent in response to BALANCE request
BYE User done, display welcome screen at ATM
Correct Operation:
client server
HELO (userid) ----------------> (check if valid userid)
<---------------- PASSWD
PASSWD ----------------> (check password)
<---------------- OK (password is ok)
BALLANCE ---------------->
<---------------- AMOUNT
WITHDRAWL ----------------> check if enough $ to cover
withdrawl
<---------------- OK
ATM dispenses $
BYE ---------------->
<---------------- BYE
In situation when there's not enough money:
client server
HELO (userid) ----------------> (check if valid userid)
<---------------- PASSWD
PASSWD ----------------> (check password)
<---------------- OK (password is ok)
BALLANCE ---------------->
<---------------- AMOUNT
WITHDRAWL ----------------> check if enough $ to cover
withdrawl
<---------------- ERR (not enough funds)
error msg
displayed, no
$ given
BYE ---------------->
<---------------- BYE

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote