CMPSCI 653: Sample Exam Problems


Note: The exam will consist of two kinds of questions. A question can require you to analyze protocols or algorithms that we discussed on class (or simple variants thereof). The other kind of question will require you to design protocols/algorithms satisfying a particular property (similar to the ones we have discussed in class). This document consists of sample problems illustrating both kinds of questions.


Slotted Aloha

Suppose that N stations share a slotted Aloha channel and that they always have a packet to transmit. Assume that each station attempts to transmit a packet in a slot with probability p.

Split Horizon Algorithm

We saw that the split horizon algorithm can sometimes used to avoid the "count to infinity" problem. Give an example showing that the split horizon does not always solve the count to infinity problem.

Minimum Average Delay Routing

Consider the following routing problem. Packets have a choice of one of two routes between A and B. Assume that in each case, there is only one link. Let a denote the packet arrival rate at A and B_1 and B_2 the two link bandwidths (bits/sec)

For the moment, consider link i. Assume that it is offered packets at rate a_i packets per second, the mean packet length is l bits, and the bandwidth of the link is B_i bits per second. Under suitable assumptions, the average packet delay (time waiting in the buffer plus transmission), is given as

T_i = l/(B_i-a_i l)

when a_i < B_i/l and infinity otherwise. We have computed the average packet delay for route i, T_i. The average delay seen by any packet is

T = (a_1 T_1 + a_2 T_2)/a

Now consider a routing algorithm that splits the traffic between the two routes in such a way as to minimize the average packet delay. Let p denote the probability that a packet goes over route 1 and 1-p the probability that a packet goes over route 2. Hence the arrival rates to the two links are a_1 = pa and a_2 = (1-p)a respectively. Using the formula above, the overall average packet delay is given as

T = p l/(B_1 - p a l) + (1-p) l/(B_2-(1-p)a l).

Answer the following:

A NAK-based Protocol

Design a reliable, pipelined, data transfer protocol that uses only negative acknowledgements. How quickly will your protocol respond to lost packets when the arrival rate of data ot the sender is low? Is high? You may assume an infinitely large sequence number space, that the channel may lose or corrupt messages, and that delays are variable and unknown. Last, can you think of any advantage of a NAK-based protocol?

Design your own protocol

Design an application-level protocol to be used between a client process running on a travel agent's desktop computer and a centralized (server) process which controls an airline's reservation system. Your protocol should allow the client to request a flight schedule between two cities on a given date. The client should also be able to book a seat on a flight, specifying the passenger's credit card number to pay for the flight. The client should also be able to cancel a reservation Your protocol server entity should be able to handle various error scenarios (e.g., flight information for a city without an airport, booking a flight that is sold out, canceling a non-existent reservation, an invalid credit card number, etc.). Explicitly state your assumptions about the underlying presentation, and data transport services. You can specify your protocol by listing the types of messages to be sent from the agent to the airline's server, and vice versa. For each message type, specify any additional data fields required. Your design should also specify for each agent message, the possible server replies, and for each server reply, the possible client actions. Sketch a scenario for the case in which a flight information is requested, and reservation is made and paid for. Also sketch a scenario in which an error condition of your own choosing is detected and handled.
Prashant Shenoy
Last modified: Sun Apr 2 12:17:31 EDT 2000