In IMANET, caching data items in the local cache helps in reducing latency and increasing accessibility. If an MT is located along the path in which the request packet travels to an AP, and has the requested data item in its cache, then it can serve the request without forwarding it to the AP. In the absence of caching, all requests should be forwarded to the appropriate APs. Since the local caches of the MTs virtually form an aggregate cache, a decision as to whether to cache the data item depends not only on the MT itself, but also on the neighboring MTs. Therefore, we propose a cache admission control and a cache replacement algorithm.
Cache Admission Control: When an MT receives the
requested data item, a cache admission control is triggered to decide
whether it can cache this item. In this paper, the cache admission
control allows an MT to cache a data item based on the distance of
other APs or MTs, which have the requested data item. If the MT is
located within hops from them, then it does not cache
the data item; Otherwise it caches the data item. The cached data
items can be used by closely located MTs. Therefore, the same data
items are cached at least
hops apart. Here,
is a system parameter.
The primary idea is that, in order to increase accessibility, we try
to cache as many data items as possible, while trying to avoid too many
duplications. Although caching popular data items aggressively in
closer MTs helps to reduce the latency, in this work, we give more
weight to the data accessibility than to access latency. A
rationale behind this is that it is meaningless to reduce access
latency when a set of MTs is isolated from other MTs or the AP, and
they can not access any interested data items. Instead of waiting
until the network topology changes, it is better for the MTs to have
even high probability of finding the requested data items. Since value enables more distinct data items to be
distributed over the entire cache due to admission control, more data
items can be accessible and thus the overall data accessibility is
increased.
Cache Replacement Policy: A cache replacement policy
is required when an MT wants to cache a data item, but the cache is
full, and thus it needs to victimize a data item for replacement.
Two factors are considered in selecting a victim. The first factor
is the distance (), measured by the number of hops away
from the AP or MTs, which has the requested data item. Since
is closely related to the latency, if the data item
with a higher
is selected as a victim, then the
latency would be high. Therefore, the data item with the least
value is selected as the victim.
The second factor is the access frequency of data items. Due to
mobility of the MTs, the network topology may change frequently. As
the topology varies, the values become obsolete.
Therefore, we use a parameter (
), which
captures the elapsed time of the last updated
.
The
value is obtained by
, where tcur
and tupdate are the
current time and the last updated time of
for the data
item, respectively. If
is close to 1,
has recently been updated. If it is close to 0, the updated gap is
long. Thus,
is used as an indicator of
to select a victim. In this paper, we suggest a Time
and Distance Sensitive (TDS) replacement policy based on these two
factors.