Design Comparisons (Wireless Networking Protocols)

The CoopMAC, HARBINGER, VMISO, and COPE protocols offer very different mechanisms for relay selection and packet delivery. However, they do share some common features:

• Receiver cooperation among multiple nodes for packet decoding is not used.

• Cooperation is handled below the network layer (see Figure 2.1).

• Establishing a multihop route from a source to a destination is handled at the network layer.

Handling cooperation below the network layer implies that the additional storage and computation of cooperative relaying falls to the MAC layer. For example, the CoopMAC and VMISO protocols both require the MAC layer to track which nodes in its neighborhood are useful relays. In effect, a form of local routing table is stored at the MAC layer. In addition to caching information regarding potential relays, relay connections in CoopMAC, HARBINGER, and VMISO require the following data structures at the MAC layer:

• At the source: a table listing relays for each destination.

• At a relay: a table listing those links or routes that are being helped.

• At the destination: a table of relays for each incoming link on a cooperative route. This information prevents the MAC layer from prematurely sending a NAK.

In comparison, COPE avoids these data structures at the expense of storing a packet pool and lists to track the packet pools of neighbor nodes.

Additional differences emerge in how the interactions with routing are handled. Each protocol, either implicitly or explicitly, starts with a primary path from a source to a destination established by a network-layer routing protocol. CoopMAC simply accepts the primary route and seeks to improve the diversity on each link by adding a relay. Given a primary path, VMISO then extracts a path with fewer hops but longer distance per hop. The designers of HARBINGER endorse cross-layer routing methods that employ side information such as geographic proximity or channel quality to the destination. This side information is used to construct a route (in fact, a sequence of transmissions) dynamically as codeword blocks are transmitted and intermediate nodes decode a message. HARBINGER selects the next transmitter among those nodes that have decoded the message by a contention resolution process that favors nodes according to the side information. For example, with geographic side information, nodes closer to the destination are given higher priority for transmitting the next codeword block. This approach bears similarity to the anycast employed by VMISO for route configuration, especially if HARBINGER were to employ as side information the hop count to the destination, as derived from the primary path found by a conventional routing protocol.


For all four protocols, the creation of a cooperative route as a sequence of cooperative links is based on first using a conventional method to find a primary path followed by MAC-layer methods to construct cooperative links over or within the primary path. This two-step procedure is not guaranteed to find the best path. In particular, Coop-MAC forfeits the option to create longer distance hops. While VMISO and HARBINGER can construct long hops, these hops still depend on the heuristic initial choice of the conventional primary path. In the same way, "routes" for COPE, i.e., sequences of specified next-hops for delivery of a packet, are constructed using an ordinary routing protocol, although COPE uses those routes more efficiently through opportunistic listening and coding.

The local two-step route optimization describes the difference between relaying and routing. Both relays and routers are forwarding source messages but they help at different timescales. A router keeps its forwarding table on the network layer, while the relay has its table on the MAC layer. Since route discovery and route repair are slow processes that generate a lot of overhead, the routing algorithm cannot adapt to rapid changes in the network due to fading or high mobility. However, given a route that was formed based on the past network state, variations in network topology can be accommodated by using intermediate nodes that overhear the transmissions and act as relays. In that sense, relaying and routing offer complementary ways to improve network performance.

Next post:

Previous post: