Fair resource allocation to users

Please help me with the following problem.
I am trying to find the fair allocation of resources to uses associated to a base station. Each user has a particular QoS constraint. My optimization problem is as follows,

max sum(r_i * x_i)
s.t.
r_i * x_i <= R_i (QoS constraint)
sum(x_i) <= N (Capacity Constraint)
|r_i * x_i – r_j * x_j| <= eps, i!=j (Fairness Constraint)

Where,
r_i is the down-link data rate of user i on a single resources.
x_i and R_i are the QoS and number of resources allocated to user i respectively.
eps is the fairness threshold.
N is the total number of resources,
ue_count is the number of users.

If I am correct, the fairness constraint need to be written as -eps <= (r_i * x_i – r_j * x_j) <= eps, but I don’t know how to code it in cvx. I think it is a integer problem, as x_i can take only integer values.

I think in the solution instance the value of x_i=0 for a few users, so how can I take care of those users in the next iteration of resource allocation, so that I can achieve long term fairness.