— In most wireless relay networks, the source and relay nodes transmit successively via fixed time division (FTD) and each relay forwards a packet immediately upon receiving. In this paper we enable the buffering capability of relay nodes and propose a framework for joint scheduling and relay selection. The goal is to maximize the system long-term throughput by fully exploiting multi-user diversity in the network. We develop two joint scheduling and relay selection (JSRS) algorithms for unidirectional and bidirectional traffic, respectively. The novel cross-layer relay selection metrics which our algorithms are based upon take into account both instantaneous channel conditions and the queuing status. We also demonstrate that the proposed JSRS can be realized in a distributed way without explicit coordination among the network nodes. Extensive simulation is carried out to evaluate the performance of the proposed JSRS with buffering in comparison with traditional FTD without bufferin...