Although cooperation generally increases the amount of resources
available to a community of nodes, thus improving individual and
collective performance, it also allows for the appearance of
potential mistreatment problems through the exposition of one node's
resources to others. We study such
concerns by considering a group of independent, rational, self-aware
nodes that cooperate using on-line caching algorithms, where the
exposed resource is the storage of each node. Motivated by
content networking applications -- including web caching,
CDNs, and P2P -- this paper extends our previous work on the
off-line version of the problem, which was limited to object
replication and was conducted under a game-theoretic framework. We
identify and investigate two causes of mistreatment: (1) cache
state interactions (due to the cooperative servicing of
requests) and (2) the adoption of a common scheme for cache
replacement/redirection/admission policies. Using analytic models,
numerical solutions of these models, as well as simulation
experiments, we show that on-line cooperation schemes using caching
are fairly robust to mistreatment caused by state interactions. When
this becomes possible, the interaction through the exchange of
miss-streams has to be very intense, making it feasible for the
mistreated nodes to detect and react to the exploitation. This
robustness ceases to exist when nodes fetch and store objects in
response to remote requests, i.e., when they operate as
Level-2 caches (or proxies) for other nodes. Regarding mistreatment
due to a common scheme, we show that this can easily take place when
the ``outlier'' characteristics of some of the nodes get
overlooked. This finding underscores the importance of allowing
cooperative caching nodes the flexibility of choosing from a diverse
set of schemes to fit the peculiarities of individual nodes. To that
end, we outline an emulation-based framework for the development of
mistreatment-resilient distributed selfish caching schemes.
|