>The problem is that if no reference are being set to you, then having the
>data is actually not worth that much.

But references *are* being sent to you - that's how you got the original 
request. Alice still has a pointer to Charles (although the new pointer to 
Bob/David will diminish the old pointer's coverage), but more importantly, 
some other node has a pointer to Charles as well. (If nobody else has a 
pointer to Charles, it doesn't really matter what Charles caches, so let's 
consider the interesting case where some other node has a pointer to 
Charles.)

Alice and one of Charles' other neighbours (call him Evan) must be using 
Charles as an authority on a similar volume of the keyspace in order for 
document clustering to achieve anything. (If Alice is the only node 
forwarding requests to Charles then Charles is just an extension of Alice; 
if Alice and Evan are using Charles as an authority on two disjoint volumes 
of the keyspace then Charles is little more than an extension of Alice in 
the same box as an extension of Evan, with no efficiency gained through 
shared cache hits & cache space. So again, let's consider the interesting 
case where document clustering improves efficiency.) 

So assuming that Alice and Evan are using Charles as an authority on the 
same volume of the keyspace (and this assumption is kind of crucial to 
freenet because document clustering relies on it), when Charles caches a 
document for Alice there is a better-than-random chance that Evan will 
request the same document and Charles will be able to serve it out of cache. 
So it still makes sense for Charles to cache the document, even if Alice 
doesn't use it.


Michael

_______________________________________________
Freenet-dev mailing list
Freenet-dev at lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/freenet-dev

Reply via email to