On Wed, 27 Nov 2002 Erendil at aol.com wrote:

> The idea of updating is similar to DBR. I was not sure of the exact 
> mechanism.
> 
> Yes, I know you may not get the new version. But, the old versions
> will not supress the new ones long. Whenever a new one is encountered,
> it takes precedence, thus being propogated. And it doesn't go the
> other way. (old taking over the newer)

Firstly, you can't update CHK keys, because they're content hash's.  But
you knew that :).

I actully tried implenting this once ;).  The problem with it is,
primarily, that now every request will take the same amount of time as a
DNF takes, because you can't just use the version in the local node
anymore - you have to search through the entire network for the content in
question.

there are possible workarounds that you can use, for example retrieving at
HTL=5 first, and then only retrieving at HTL=15/25 if there is a DNF, but
this, of course, has it's own performance issues.  and, using this varient
on the scheme, the updated key will only traverse the network if it's a
popular key - so, while it'd work for cruft, tfe, nubile, you'd probably
still be looking at a fishland from weeks ago ;).

the scheme I actully ended up settling on, to make this work on a freenet
style network (I actully later resigned my test network to work
differnetly, but that's antoher failure story for another day ;), is
having the node activly update SSK and KSK keys - that is, inside the
node, you have code that says something like:

for j in metakeys:
        if ( lastTouched < updateTime ):
                find all versions accessable to me at HTL=whatever
                sort
                if later version exists:
                        remove key from datastore

this way, it wasn't transferring keys around until they were required by
the user, in order to avoid wasteing bandwidth, but was still keeping the
node up to date.  However, obviously this has ramifications for
propagation.

There are also several issues with this scheme, one of which is bandwidth
usage for large nodes.  It's obviously up to someone other than me to
decide wether this is worth it for freenet.

        - fish



_______________________________________________
devl mailing list
devl at freenetproject.org
http://hawk.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to