  This paper considers the classic Online Steiner Forest problem where one is
given a (weighted) graph $G$ and an arbitrary set of $k$ terminal pairs
$\{\{s_1,t_1\},\ldots ,\{s_k,t_k\}\}$ that are required to be connected. The
goal is to maintain a minimum-weight sub-graph that satisfies all the
connectivity requirements as the pairs are revealed one by one. It has been
known for a long time that no algorithm (even randomized) can be better than
$\Omega(\log(k))$-competitive for this problem. Interestingly, a simple greedy
algorithm is already very efficient for this problem. This algorithm can be
informally described as follows: Upon arrival of a new pair $\{s_i,t_i\}$,
connect $s_i$ and $t_i$ with the shortest path in the current metric, contract
the metric along the chosen path and wait for the next pair.
  Although simple and intuitive, greedy proved itself challenging to analyze
and its competitive ratio is a long-standing open problem in the area of online
algorithms. The last progress on this question is due to an elegant analysis by
Awerbuch, Azar, and Bartal [SODA~1996], who showed that greedy is
$O(\log^2(k))$-competitive. Our main result is to show that greedy is in fact
$O(\log(k)\log\log(k))$-competitive on a wide class of instances. In
particular, this wide class of instances contains all the instances that were
exhibited in the literature until now.
