  The Maximum Carpool Matching problem is a star packing problem in directed
graphs. Formally, given a directed graph $G = (V, A)$, a capacity function $ c:
V \to N $, and a weight function $w : A \to R $, a feasible \emph{carpool
matching} is a triple $(P, D, M)$, where $P$ (passengers) and $D$ (drivers)
form a partition of $V$, and $M$ is a subset of $A \cap (P \times D)$, under
the constraints that for every vertex $d \in D$, $din(d) \leq c(d)$, and for
every vertex $p \in P$, $dout(p) \leq 1$. In the Maximum Carpool Matching
problem we seek for a matching $(P, D, M)$ that maximizes the total weight of
$M$.
  The problem arises when designing an online carpool service, such as
Zimride~\cite{zimride}, that tries to connect between passengers and drivers
based on (arbitrary) similarity function. The problem is known to be NP-hard,
even for uniform weights and without capacity constraints.
  We present a $3$-approximation algorithm for the problem and
$2$-approximation algorithm for the unweighted variant of the problem.
