  One of the main lines of research in algorithmic randomness is that of
lowness notions. Given a randomness notion R, we ask for which sequences A does
relativization to A leave R unchanged (i.e., R^A = R)? Such sequences are call
low for R. This question extends to a pair of randomness notions R and S, where
S is weaker: for which A is S^A still weaker than R? In the last few years,
many results have characterized the sequences that are low for randomness by
their low computational strength. A few results have also given
measure-theoretic characterizations of low sequences. For example, Kjos-Hanssen
proved that A is low for Martin-L\"of randomness if and only if every A-c.e.
open set of measure less than 1 can be covered by a c.e. open set of measure
less than 1. In this paper, we give a series of results showing that a wide
variety of lowness notions can be expressed in a similar way, i.e., via the
ability to cover open sets of a certain type by open sets of some other type.
This provides a unified framework that clarifies the study of lowness for
randomness notions, and allows us to give simple proofs of a number of known
results. We also use this framework to prove new results, including showing
that the classes Low(MLR;SR) and Low(W2R;SR) coincide, answering a question of
Nies. Other applications include characterizations of highness notions, a
broadly applicable explanation for why low for randomness is the same as low
for tests, and a simple proof that Low(W2R;S)=Low(MLR;S), where S is the class
of Martin-L\"of, computable, or Schnorr random sequences. The final section
gives characterizations of lowness notions using summable functions and
convergent measure machines instead of open covers. We finish with a simple
proof of a result of Nies, that Low(MLR) = Low(MLR; CR).
