  The capacity of caching networks has received considerable attention in the
past few years. A particularly studied setting is the case of a single server
(e.g., a base station) and multiple users, each of which caches segments of
files in a finite library. Each user requests one (whole) file in the library
and the server sends a common coded multicast message to satisfy all users at
once. The problem consists of finding the smallest possible codeword length to
satisfy such requests. In this paper we consider the generalization to the case
where each user places $L \geq 1$ requests. The obvious naive scheme consists
of applying $L$ times the order-optimal scheme for a single request, obtaining
a linear in $L$ scaling of the multicast codeword length. We propose a new
achievable scheme based on multiple groupcast index coding that achieves a
significant gain over the naive scheme. Furthermore, through an information
theoretic converse we find that the proposed scheme is approximately optimal
within a constant factor of (at most) $18$.
