  Over the past two decades, fair resource allocation problems have received
considerable attention in a variety of application areas. However, little
progress has been made in the design of distributed algorithms with convergence
guarantees for general and commonly used $\alpha$-fair allocations. In this
paper, we study weighted $\alpha$-fair packing problems, that is, the problems
of maximizing the objective functions (i) $\sum_j w_j
x_j^{1-\alpha}/(1-\alpha)$ when $\alpha > 0$, $\alpha \neq 1$ and (ii) $\sum_j
w_j \ln x_j$ when $\alpha = 1$, over linear constraints $Ax \leq b$, $x\geq 0$,
where $w_j$ are positive weights and $A$ and $b$ are non-negative. We consider
the distributed computation model that was used for packing linear programs and
network utility maximization problems. Under this model, we provide a
distributed algorithm for general $\alpha$ that converges to an
$\varepsilon-$approximate solution in time (number of distributed iterations)
that has an inverse polynomial dependence on the approximation parameter
$\varepsilon$ and poly-logarithmic dependence on the problem size. This is the
first distributed algorithm for weighted $\alpha-$fair packing with
poly-logarithmic convergence in the input size. The algorithm uses simple local
update rules and is stateless (namely, it allows asynchronous updates, is
self-stabilizing, and allows incremental and local adjustments). We also obtain
a number of structural results that characterize $\alpha-$fair allocations as
the value of $\alpha$ is varied. These results deepen our understanding of
fairness guarantees in $\alpha-$fair packing allocations, and also provide
insight into the behavior of $\alpha-$fair allocations in the asymptotic cases
$\alpha\rightarrow 0$, $\alpha \rightarrow 1$, and $\alpha \rightarrow \infty$.
