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-too-common case in which there is not enough money in the account to cover the withdrawal.
Your tasks are as follows:
a. Specify your protocol by listing the different messages that will be used by your application layer protocol. You must clearly specify the contents of each message by providing the message structure.
Using a timing diagram provide a figure that shows the operation of your protocol for the case of a simple withdrawal with errors (i.e., insufficient balance).