So lets walk through an example of delay based congestion control now, just to see how it works. We'll assume the minimum RTT never changes, that it stays at 50 ms. We'll just keep that constant. It will obviously change, and in that case you'll have to change what you're dividing by each time, but we're going to assume it stays constant just for our purposes here. So initially we send five packets and so the congestion window size is five and we're sending five packets waiting acknowledgment. Then at 10 milliseconds the first packet arrives back and curRTT with that is 51 milliseconds. So, the first thing we need to do is we need to compare the transmission rates under the ideal conditions. Which would be with 50 millisecond RTT to the transmission rate with 51 milliseconds RTT. Okay, so the the if we do the ideal case first we'd take the current window size of 5 right, because where we sent. We can send 5 packets at any time. We divide that by 50 milliseconds. So, it's however many packets per second that we're sending. And if we do that division we'll get a 100 packets per second. So basically the transmission rate is a 100 packets in one second that we're sending out. And then what we're actually observing though is 5 divided by 51 milliseconds. So we sent five packets basically and we're seeing an RTT right now of 51 ms. So then this would be 98.03 packets per second. Now in order to do this division, just so you know milliseconds I am converting it to seconds, so I'm making this 0.5. 0.05 seconds, and I'm making this 0.051 seconds. so then when you do the division, you get 100 packets per second or 98.03 packets per second. You could also do it in milliseconds itself, and in that case, you get you would get 0.1 for the top and, you would get 0.098 for the bottom. And then you just need to take whatever the threshold is that you are assuming. And you need to convert it accordingly, just keep the same units. So next question is, what is that threshold? well we'll assume that the threshold is 3 because we were assuming that before. So, we'll say also that thresh [SOUND] is 3 packets per second. So, if the difference is less than 3 packets per second then we increase window size. If it's 3 packets per second we keep the same and if it's more than 3 packets per second we increase it. So, we take the difference here. We do 100 minus 98.03 and we get 1.97 packets per second. So, 1.97 packets per second compare to 3 is less than 3 so it's less than 3 packets per second. Since it's less than 3 packets per second, the results of this is that we increase the window size by 1. So we do, CWND, now is equal to 6. And, so now, we're sending a packet, right? So we get to send another packet out. But we're also [INAUDIBLE] the window. So we're actually going to send 2 packets. So we send 2 packets. because one came back, so it means we have four outstanding, but now it says that windows has 6, we have 2 that we can send out. So, here's the idea here, just to show you, is that congestion windows has five. And then what happens is that once we receive the acknowledgement, we slide first, which means we can send out the sixth packet. Right, but then since the difference is less than the threshold we're also increasing the congestion window size, and we increase it to 6. So then since we already have one packet acknowledged and we want to have 6 outstanding that means we can actually send 2 packets. So, we send 2 more. So, now we have up to 7. Then at 20 milliseconds the second packet gets acknowledgement and the currant RTT becomes 50.5 milliseconds. So, I'm going to do that second case over here in this little box. So for the ideal case we have 6 packets, and we're doing that in 50 milliseconds, so that gives us 120 packets per second. And in the non ideal case or in the actual scenario, we have 6 packets and our RTT is 50.5 milliseconds. So that gives us 118.81 packets per second. So when we subtract these out we get 120, minus 118.81. And we get 1.19 packets per second. And, since that is less than 3, we increase the window size again and so that means that we're going to slide and then we send 2 more packets right? So now we'd actually be out to 9. eight and then nine