Presentation is loading. Please wait.

Presentation is loading. Please wait.

Probabilistic Search Verification of the Go-Back-N Protocol Adeyemi Aladesawe Annjana Ramesh Lingxue Li Nanjun Lu.

Similar presentations


Presentation on theme: "Probabilistic Search Verification of the Go-Back-N Protocol Adeyemi Aladesawe Annjana Ramesh Lingxue Li Nanjun Lu."— Presentation transcript:

1 Probabilistic Search Verification of the Go-Back-N Protocol Adeyemi Aladesawe Annjana Ramesh Lingxue Li Nanjun Lu

2 Agenda Algorithm Assumptions Stopping Procedure Tests to verify Where we went wrong/What we did right What we would do differently

3 Algorithm At every state, there can be up to two packets- a message on the forward channel and an ACK on the reverse channel. When a message is lost at the initial state, there can be no ACK on the reverse channel. Transition of states take place depending on whether a message/ack/both are lost/received.

4 Assumptions Tuple observed includes:  Sender state The oldest message yet to be acknowledged  Receiver state The expected message number  Message no. on forward channel  Acknowledgment no. on reverse channel The no. of message expected by the receiver  Window size  Probability level  Service Sequence

5 Assumptions Message/Acknowledgement placed on the channel is received or lost by the receiver/sender in one state transition There are two conditions on the duplex channel  Only a message on the forward channel  Message on the forward, Ack on the reverse If message only, it can either be received or lost If both message and ack, then:  Message and ack can be lost  Message can be lost, ack can be received  Message can be received, ack can be lost  Message and ack can be received

6 Assumption If only one loss condition (message or ack), we drop down one probability level If both message and ack lost, we drop down two probability level The message processing time at the receiver is negligible Cumulative acknowledgement is used

7 Stopping Procedure On each probability level, we stop when we successfully send 1 message after 3 message losses (based on the problem statement of considering up to 3 message loss) This is because the sequence will successfully repeat henceforth

8 Test cases Case 1: If receiver is expecting M1, and the sender sends M2 or any other message>1, it immediately discards it. Where as, if receiver is expecting M1 (meaning M0 was received and acknowledged), and the sender sends M0, the receiver sends A1 again, thereby letting the sender know to send M1.

9 Test cases Case 2: In case of message loss, the sender should not retransmit any message until the entire window has been exhausted. That is say M1 is lost (Window size will be 3 minus 1=2), therefore, this M1 cannot be resent until M2 and M3 are sent (which will be discarded by the receiver as verified in Case 1). We have checked all our states for this possibility, and retransmissions occur only after the current window has been exhausted.

10 What we did wrong When 3 messages (including acks) are lost, the protocol stops as we are asked to design an algorithm up to 3 packet losses on the channel. But, when there are 2 successes, followed by 1 failure, and then another success, the probability level goes back to 0. So 3 consecutive losses are identified. * We could have avoided this by not including the probability level in each state

11 What we did wrong -The modeling of the States -We wrongly modeled the state as being the message number waiting to be acknowledged or message number being expected at the receiver -The modeling of the Sender state -Timeouts and Receipt of acknowledgement can happen concurrently while a message is being transmitted on the forward channel. We did not capture this in our model. Each event should be modeled as sub-machines having its own state -We wrongly model the state as message waiting to be acknowledged.

12 What we did wrong -The Stopping procedure -We wrongly assume that the receiver can differentiate between messages if received out of order, and did not include this as one of the test objectives -We considered a minimal number of possibilities that can realistically happen on the channel. -We assumed that the messages all travel through the same connection and have the same propagation time

13 What we will do differently -Model the states independently of the message or acknowledgement numbers -The Sender state will be 3-tupled, consisting the timeout machine state, the Ack receive state and the Message sending state -The test will stop only at the point when there is no reference to a message number still waiting to be acknowledged or received (when messages on the channel have been successfully sent and received

14 What we will do differently -The test will involve all possible combinations of messages on the channel for as many as 3 message loss on it. -Create modulus and real numbered fields to verify that the messages can be distinguished at the receiver - We could have on the forward channel: M0 M1 M2 M3.. M1 M2 M3 M0.. M2 M3 M0 M1.. M3 M0 M1 M2

15 Project split up Member - Assignment Lingxue – State transition diagram Adeyemi – Pseudo code/algorithm for the program Annjana – Program Nanjun - Table


Download ppt "Probabilistic Search Verification of the Go-Back-N Protocol Adeyemi Aladesawe Annjana Ramesh Lingxue Li Nanjun Lu."

Similar presentations


Ads by Google