  In the Boundary Labeling problem, we are given a set of $n$ points, referred
to as sites, inside an axis-parallel rectangle $R$, and a set of $n$ pairwise
disjoint rectangular labels that are attached to $R$ from the outside. The task
is to connect the sites to the labels by non-intersecting rectilinear paths,
so-called leaders, with at most one bend.
  In this paper, we study the Multi-Sided Boundary Labeling problem, with
labels lying on at least two sides of the enclosing rectangle. We present a
polynomial-time algorithm that computes a crossing-free leader layout if one
exists. So far, such an algorithm has only been known for the cases in which
labels lie on one side or on two opposite sides of $R$ (here a crossing-free
solution always exists). The case where labels may lie on adjacent sides is
more difficult. We present efficient algorithms for testing the existence of a
crossing-free leader layout that labels all sites and also for maximizing the
number of labeled sites in a crossing-free leader layout. For two-sided
boundary labeling with adjacent sides, we further show how to minimize the
total leader length in a crossing-free layout.
