Next-generation cellular wireless standards offer greatly improved reverse link capacity with high data rates and low latency. However, one significant challenge in realizing these gains is reverse link power control. Specifically, in a cellular system, mobiles transmitting to one base station cause interference into neighboring base stations. Thus, the transmit powers of all mobiles in the system must be coordinated in some manner for a fair allocation of achievable rates. Since inter-base station communication is typically limited, the reverse link rate and power scheduling by the base stations must be performed in some distributed manner. This paper presents a simple distributed reverse link scheduling method for optimal rate and power assignments. In the proposed method, each base station periodically transmits a load factor in the forward link based on the quality of service requirements of the mobiles it is serving and the interference the base station is experiencing. In return, the mobiles transmit a certain interference cost based on the estimated proximity to neighboring base stations, and those base stations' load factors. The base stations can then schedule based on these interference costs. It is proven that, in steady-state, the distributed algorithm is guaranteed to result in a stable rate assignment. Moreover, with appropriate scheduling, the algorithm can be adjusted to maximize an arbitrary concave utility function of the mobiles' qualities of service.