Edgar Friendly wrote:

Josh Steiner <[EMAIL PROTECTED]> writes:


hey greg,

maybe i wasn't clear, I'm talking about downloading a big FEC file out
of freenet, not inserting. right now it seems like it only downloads
the minumum required FEC blocks and then rebuilds the rest. then in
order to "heal the network" it reinserts some of the blocks that it
never tried to fetch in the first place. it seems to me, for the
health of the network it makes more sense for my node to try to find
as many as possible in the network, thereby propegating the block
through the net and then only reinsert a few of the blocks that are
actually DNF's.

-josh


Once you have enough pieces to recover the original file, the optimal
thing to do _is_ what freenet is doing now. Requesting a piece of the
file to see if it DNFs is less efficient than just inserting that
piece, because if the piece is found, the insert collides, and that
piece is propogated as if it were requested. If the piece isn't
found, the network goes right to pushing that data out to the nodes.
If you did a seperate insert after your request DNFed, then the
network would have to repeat that search for the data, in order to
know that the insert isn't going to collide.

Thelema

for users like me who have a downlink 10 times the speed of my uplink this not efficient at all. when i insert a block my net connection gets hammered, whereas downloading a couple blocks never makes a difference to my connection. now, i'm interested in my node being a good freenet citizen and helping the network, but i think the way this is done now is incorrect for many users. but maybe i dont understand fully how inserts work. i imageine that my node sends the actual block data (in this case each block is about 600k-1.5meg and hence it takes quite a while to insert) to a couple of my peer nodes who then report a collision if the block exists in the network already. so in this case, i sent a block of data that already existed on the network and hosed my connection, thus preventing my node from having the bandwidth to serve up actual needed data to requestors.

am i wrong? maybe it actually just sends the hash of the data to find out if it already exists before sending the actual block. if so, then nevermind :)

cheers,

josh

--
____________________________________________________
independent u.s. drum'n'bass -- http://vitriolix.com





_______________________________________________
devl mailing list
[EMAIL PROTECTED]
http://hawk.freenetproject.org:8080/cgi-bin/mailman/listinfo/devl


Reply via email to