5 Format Frame Overview In each Reservation Frame (RF), reservations are made for the next K Information Frames (IF). Each of the N Reservation Slots (RS) of the reservation frame corresponds to one of the N Information Slots (IS) in each of the K Information Frames. Each of the N Reservation Slots consists of M Reservation Cycles, during which a transmission schedule is being built. Each of the M cycles consists of 5 phases. K, N, and M are global design parameters.
6 Phases of a Reservation Cycle 1)Reservation Request (RR) Phase. 2)Collision Report (CR) Phase. Nodes report collisions that occurred in previous phase. 3)Reservation Confirmation (RC) Phase. Nodes confirm their requests. 4)Reservation Acknowledgment (RA) Phase. Nodes acknowledge reservation confirmations. 5)Packing and Elimination (PE) Phase. Deadlocks are removed and tighter transmission schedules are encouraged.
7 Protocol Description 1. Reservation Request (RR) Phase: Nodes that want to make a reservation transmit a reservation request, with probability p. We discuss later how to select p. The rest of the nodes will either receive nothing, receive a single RR packet, or sense a collision. 2. Collision Report (CR) Phase: Any node that sensed a collision in previous phase transmits a CR packet. Not a problem if CR packets collide. Nodes that transmitted a RR packet but now receive a CR packet (or more) will remain quiet for the rest of the cycle. We totally solved the hidden terminal problem.
8 Protocol Description.. Some deadlocks are resolved: (Definition of deadlock: two nodes transmit to each other.) 3. Reservation Confirmation (RC) Phase: Potential transmitters that were not denied access in phase 2, now transmit an RC packet. RC packets never collide. Now their receivers will now that they must expect a packet. 4. Reservation Acknowledgment (RA) Phase: Scheduled receivers transmit RA packets.
9 Protocol Description.. These will probably collide (for example at scheduled transmitter, but that is acceptable.) Their neighbors will never compete again for the same slot. A few more deadlocks are resolved: 5. Packing and Elimination Phase: Packing packets are transmitted to notify nodes that there are three hops away from other transmitters:
Elimination packets are transmitted with probability p = 0.5, in an effort to resolve rest of deadlocks: Protocol Description..
11 Example: Tandem Network, Phases 1-5 I: idle B: blocked R: receive T: transmit r: receive a packet t: transmit a packet
Number of reservation cycles M needed Because of the randomness of the protocol, it may take many cycles until no other node can be added to the set of transmitting nodes. In addition, nodes can not know when this occurs. In practice, node will execute a fixed, predetermined number of cycles, and will then move to the next reservation slot. At any given time, nodes try to guess how many nodes they are competing against, and try to optimize their value of p: If there were many collisions in previous cycles, competition was heavy, so nodes pick small values of p. If there were many idle slots, nodes pick larger values for p.
20 Number of Cycles Vs Slot Randomly created graphs with 100 nodes and 7 neighbors per node an the average. Once a node acquires a color, it stops contending. ANC: Average Number of Cycles needed so that maximum number of nodes are colored. FNC: Fixed Number of Cycles needed so that maximum number of nodes are colored with probability 99%.
22 Nodes can not know when all other nodes were assigned a color. The number of reservation slots has to be agreed beforehand. If N is too large, the last of them, and their associated information slots, are wasted. If N is too small, some nodes will never manage to acquire a color. In practice, we tolerate that with some small probability each node will not acquire a color. Number of reservation slots N needed
23 Number of nodes per slot ANT: Average number of transmitting nodes in each slot. Clearly, the slots toward the end are severely underutilized. How can we fix this?
24 Synchronization Contention packets only need to be a bit long. But guard times between packets are needed, to account for imperfect timing and signal propagation times. To minimize guard times, nodes need to have very accurate clocks with very little drift between them. One solution: use GPS. Without GPS, clock synchronization is a very hard distributed control problem..
25 Connection to graph coloring FPRP algorithm discovers in a distributed manner a coloring of the nodes of the graph, such that no two nodes with the same color are within two hops of each other. What is the minimum number of colors needed? This is an NP- complete problem. We want our algorithm to color the graph with few colors. Why? Let the degree of the graph be the maximum number of edges that a node can have. The degree of our tandem graph is 2. The degree of our general graph is 5 (node 6 has 5 neighbors). We need at least (degree+1) colors to paint the graph. (Why?) This is a tight lower bound, which we call the Degree Lower Bound.
26 Comparison between different coloring algorithms M and N are set very large. Size: number of nodes. DLB: Degree Lower Bound. RAND: Randomized and centralized algorithm. FPRP: Five-Phase Reservation Protocol. R: Parameter affecting average number of neighbors. In left table, R = 1.5. In right table, Size is set to 100.