This paper proposes a new resource allocation algorithm for uplink OFDMA-based cooperative relay networks assuming multiple source nodes, multiple relay nodes and a single destination. The aim is to maximize the total sum of the sources data rates while guaranteeing fairness among them with different QoS requirements. Assuming perfect channel state information (CSI) at the resource allocation controller. The optimization problem is formulated such that each source is assigned a weight factor based on its QoS requirements, then the ones with high weights are given more priority to select their resources (relay stations and subcarriers) first. Once the required QoS is achieved for all sources, the weight factor for all sources will be unity. The remaining resources are allocated to the sources with maximum instantaneous rate. The results show that the proposed algorithm outperforms the greedy and static algorithms in terms of outage probability and fairness.