  The use of existing network devices as relays has a potential to improve the
overall network performance. In this work, we consider a two-hop wireless relay
setting, where the channels between the source and relay nodes to the
destination node are time varying. The relay nodes are able to overhear the
transmissions of the source node which may have a weak connection to the
destination, and they help the source node by forwarding its messages to the
destination on its behalf, whenever this is needed. We develop a distributed
scheme for relay selection and channel access that is suitable for time-varying
channels, and prove that this scheme is throughput optimal. We obtain the
achievable rate region of our proposed scheme analytically for a relay network
with a single source and a single relay node. Meanwhile, for a more general
network with more than one relay nodes, we perform Monte-Carlo simulations to
obtain the achievable rate region. In both cases, we demonstrate that the
achievable rate region attained with our distributed scheme is the same as the
one attained with centralized optimal scheme.
