Feature #11: Weighted Exponential Back-off
Explore the concept of weighted exponential back-off in network communication, where devices delay retransmissions after collisions. Learn how to model this using linked lists representing random integers and implement addition digit-by-digit with carry handling. Understand the time and space complexity of this approach to solve practical network problems in Python.
We'll cover the following...
Description
In our network topology, we have a shared communication channel. On this channel, all the connected devices can simultaneously transmit data, resulting in a collision. The transmission is time-slotted. After a collision, the transmitting devices back off, that is, they refrain from retransmitting for a random number of time slots.
To this end, the device draws a random integer, r, between 1 and 9 and waits for as many time slots. In case of another collision on the first retry, the device draws a random integer again, r, between 1 and 9, and waits for time slots. In case of successive retransmission failures, the device backs off for ...