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

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

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

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

Probabilistic Search Verification of the Go-Back-N Protocol

Adeyemi AladesaweAnnjana Ramesh

Lingxue LiNanjun Lu

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

Agenda

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

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

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.

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

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

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

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

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

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

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

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

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

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.

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

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.

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

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

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

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.

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

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

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

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

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

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:

M0M1M2M3

..M1M2M3M0

..

..M2M3M0M1

..

..

..M3M0M1M2

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

Project split up

Member - Assignment Lingxue – State transition diagram Adeyemi – Pseudo code/algorithm for the

program Annjana – Program Nanjun - Table