  The \emph{file caching} problem is defined as follows. Given a cache of size
$k$ (a positive integer), the goal is to minimize the total retrieval cost for
the given sequence of requests to files. A file $f$ has size $size(f)$ (a
positive integer) and retrieval cost $cost(f)$ (a non-negative number) for
bringing the file into the cache. A \emph{miss} or \emph{fault} occurs when the
requested file is not in the cache and the file has to be retrieved into the
cache by paying the retrieval cost, and some other file may have to be removed
(\emph{evicted}) from the cache so that the total size of the files in the
cache does not exceed $k$.
  We study the following variants of the online file caching problem.
\textbf{\emph{Caching with Rental Cost} (or \emph{Rental Caching})}: There is a
rental cost $\lambda$ (a positive number) for each file in the cache at each
time unit. The goal is to minimize the sum of the retrieval costs and the
rental costs. \textbf{\emph{Caching with Zapping}}: A file can be \emph{zapped}
by paying a zapping cost $N \ge 1$. Once a file is zapped, all future requests
of the file don't incur any cost. The goal is to minimize the sum of the
retrieval costs and the zapping costs.
  We study these two variants and also the variant which combines these two
(rental caching with zapping). We present deterministic lower and upper bounds
in the competitive-analysis framework. We study and extend the online covering
algorithm from \citep{young02online} to give deterministic online algorithms.
We also present randomized lower and upper bounds for some of these problems.
