Adaptive Tree Walk Protocol

Consider a simple bus-based linear-topology LAN with N nodes, where N is a power of 2.Figure 1 shows an example of such a network, for N = 8. Attached to the left end of this network is a controller C that wishes to coordinate access to the shared bus channel amongst the N nodes. Assume that the stations are numbered from 0 to N 1 in binary (e.g., from 000 to 111 in Figure 1).

The Adaptive Tree Walk Protocol conceptually arranges these stations into a complete binary tree configuration, as shown in Figure 2. In the Figure 2 example, there are 8 (real) nodes at Level 3, there are 4 virtual nodes (each with 2 children) at Level 2, there are 2 virtual nodes at Level 1, and 1 virtual node at Level 0, which forms the root of the binary tree.

Each virtual node (circle) in this binary tree represents a particular subset of the real nodes (the black dots) in the network. For example, the root node represents \all stations in the network", while the leftmost virtual node on Level 1 represents \all stations whose address starts with a 0 bit", and the rightmost virtual node on Level 2 represents \all stations whose address starts with 11". Note that the virtual binary tree structure is conceptual only; the physical layout of the network is simply that illustrated in Figure 1. The controller regulates channel access on this LAN by polling (querying) certain subsets of the nodes in subsequent steps of the protocol, giving them the \green light" to transmit their pending frames, if any. These polling steps are referred to as \probes" in the following description of the protocol. For example, suppose that stations 1, 5, and 6 all have frames ready to send. If the controller were to start at the root of the tree (Level 0), a collision would occur on the _rst probe attempt, since three stations all try to seize the channel at the same time. Subsequent recursive probes to the two individual nodes on Level 1 would result in a

the same three station transmissions could have been resolved in 4 probes: 1 idle.successful transmission for station 1 (since it is the only ready station in the left subtree). Further recursive probes down the right subtree to Level 2 will resolve the channel access. if the controller were to start at Level 3 for this initial scenario. followed by another collision probe for stations 5 and 6. 3 successes. . Resolving these three transmissions has required a total of 5 probes: 2 collisions. Had the controller started at Level 2 initially. with a successful transmission by station 5 followed by a successful transmission by station 6. Intuition indicates that when the network is lightly loaded. 3 successes. Clearly. and 6). the controller should start at or near the bottom of the tree (leaf level). and 5 of which would be idle (wasted) probes. the central controller should start at or near the top (root) of the tree. Continuing the example. 5. starting somewhere in between Level 0 and Level 3 is the best strategy in this particular example. we would require 8 probes. 3 of which would lead to successful transmissions (stations 1. When the network is heavily loaded. and 0 idle.