A generalized paging problem is considered. Each request is expressed as a set of $u$ pages. In order to satisfy the request, at least one of these pages must be in the cache. Therefore, on a page fault, the algorithm must load into the cache at least one page out of the $u$ pages given in the request. The problem arises in systems in which requests can be serviced by various utilities (e.g., a request for a data that lies in various web-pages) and a single utility can service many requests (e.g., a web-page containing various data). The server has the freedom to select the utility that will service the next request and hopefully additional requests in the future. The case $u=1$ is simply the classical paging problem, which is known to be polynomially solvable. We show that for any $u>1$ the offline problem is NP-hard and hard to approximate if the cache size $k$ is part of the input, but solvable in polynomial time for constant values of $k$. We consider mainly online algorithms, and design competitive algorithms for arbitrary values of $k,u$. We study in more detail the cases where $u$ and $k$ are small. %We further study two modifications of the problem. We also give an algorithm which uses resource augmentation and which is asymptotically optimal for $u=2$.