  Emerging heterogeneous wireless architectures consist of a dense deployment
of local-coverage wireless access points (APs) with high data rates, along with
sparsely-distributed, large-coverage macro-cell base stations (BS). We design a
coded caching-and-delivery scheme for such architectures that equips APs with
storage, enabling content pre-fetching prior to knowing user demands. Users
requesting content are served by connecting to local APs with cached content,
as well as by listening to a BS broadcast transmission. For any given content
popularity profile, the goal is to design the caching-and-delivery scheme so as
to optimally trade off the transmission cost at the BS against the storage cost
at the APs and the user cost of connecting to multiple APs. We design a coded
caching scheme for non-uniform content popularity that dynamically allocates
user access to APs based on requested content. We demonstrate the approximate
optimality of our scheme with respect to information-theoretic bounds. We
numerically evaluate it on a YouTube dataset and quantify the trade-off between
transmission rate, storage, and access cost. Our numerical results also suggest
the intriguing possibility that, to gain most of the benefits of coded caching,
it suffices to divide the content into a small number of popularity classes.
