  We study two problems in online matroid intersection. First, we consider the
problem of maximizing the size of a common independent set between a general
matroid and a partition matroid whose parts arrive online. This captures the
classic online bipartite matching problem when both matroids are partition
matroids. Our main result is a $(1 - \frac{1}{e})$-competitive algorithm for
the fractional version of this problem. This applies even for the poly-matroid
setting, where the rank function of the offline matroid is replaced with a
general monotone submodular function. The key new ingredient for this result is
the construction of a ''water level'' vector for poly-matroids, which allows us
to generalize the classic water-filling algorithm for online bipartite
matching. This construction reveals connections to submodular utility
allocation markets and principal partition sequences of matroids.
  Our second result concerns the Online Submodular Welfare Maximization (OSWM)
problem, in which items arriving online are allocated among a set of agents
with the goal of maximizing their overall utility. If the utility function of
each agent is a monotone, submodular function over the set of available items,
then a simple greedy algorithm achieves a competitive ratio of $\frac{1}{2}$.
Kapralov, Post, and Vondr\'ak showed that in this case, no polynomial time
algorithm achieves a competitive ratio of $\frac{1}{2} + \varepsilon$ for any
$\varepsilon > 0$ unless NP = RP (SODA, 2013). We extend the RANKING algorithm
of Karp, Vazirani, and Vazirani (STOC, 1990) to achieve an optimal
$(1-\frac{1}{e})$-competitive algorithm for OSWM in the case that the utility
function of each agent is the rank function of a matroid.
