  Content caching at intermediate nodes is a very effective way to optimize the
operations of Computer networks, so that future requests can be served without
going back to the origin of the content. Several caching techniques have been
proposed since the emergence of the concept, including techniques that require
major changes to the Internet architecture such as Content Centric Networking.
Few of these techniques consider providing caching incentives for the nodes or
quality of service guarantees for content owners. In this work, we present a
low complexity, distributed, and online algorithm for making caching decisions
based on content popularity, while taking into account the aforementioned
issues. Our algorithm performs en-route caching. Therefore, it can be
integrated with the current TCP/IP model. In order to measure the performance
of any online caching algorithm, we define the competitive ratio as the ratio
of the performance of the online algorithm in terms of traffic savings to the
performance of the optimal offline algorithm that has a complete knowledge of
the future. We show that under our settings, no online algorithm can achieve a
better competitive ratio than $\Omega(\log n)$, where $n$ is the number of
nodes in the network. Furthermore, we show that under realistic scenarios, our
algorithm has an asymptotically optimal competitive ratio in terms of the
number of nodes in the network. We also study an extension to the basic
algorithm and show its effectiveness through extensive simulations.
