  We introduce a framework and optimal `fresh' caching for a content
distribution network (CDN) comprising a front-end local cache and a back-end
database. The data content is dynamically updated at a back-end database and
end-users are interested in the most-recent version of that content. We
formulate the average cost minimization problem that captures the system's cost
due to the service of aging content as well as the regular cache update cost.
We consider the cost minimization problem from two individual perspectives
based on the available information to either side of the CDN: the back-end
database perspective and the front-end local cache perspective. For the
back-end database, the instantaneous version of content is observable but the
exact demand is not. Caching decisions made by the back-end database are termed
`push-based caching'. For the front-end local cache, the age of content version
in the cache is not observable, yet the instantaneous demand is. Caching
decisions made by the front-end local cache are termed `pull-based caching'.
Our investigations reveal which type of information, updates, or demand
dynamic, is of higher value towards achieving the minimum cost based on other
network parameters including content popularity, update rate, and demand
intensity.
