> First of all you dont implement TCP here, TCP is a 1 to 1 connection. What we face here is a 1 to many connection. If I insert to a certain node one packet doesnt mean my next packet goes to this node aswell. So if you backpropagate that the last node got lost doesnt mean at all that my next node will have problems aswell. Backpropagation is therefore no good idea. What we are intersted in is only the next server, if he has enough limits to spare I can send to this node in a continous stream. If one of the Nodes conencted to them is really slow and my last 3 packets went in that direction, my Inserts gets slower and slower, even though my next 4 packets can go a fast track. But I wait till I think the slow route accepts again.
I believe in buffering of the servers. I want to flood my server, if he cannot send them further because all routes are slow, THEN we have to slow down. To clarify: NOW we slow down when the slowest route says hey slow down I cant cope with it. What I think we should have is, when the fastest route says, hey sorry I can't anymore. What do you think about that? > Inserts are allowed to take a long time, so it doesn't make that much > difference. As a matter of fact it's one phase. well I dont care about that. They can take long. But I dont want to wait till the insert is completly finished before I send the next block. The Rate of inserts has nothing to do with how long they take. > A downstream node may complain because he is temporarily overloaded. exaclty, ONE node says he is overloaded, he might be in a distance of 20 from me, but you tell me that... my node doesnt care about that. > The problem is that the WHOLE NETWORK must have sufficient capacity to > deal with the request, not just the few peers directly connected to your > node. ok go to the darknet and look at those nodes, most are idle. Its a Problem in the algorithm not in the network. > Load balancing is hard, and I wouldn't expect inserts to be much faster > than the *average* upload bandwidth. I'm hungry, I go for free lunch now. I agree that its a tough part. But 2KB is definitly not the average bandwith, especially nod in an empty network. Normally I would prefer a TCP implementation, but it doesnt suits the problem in my point of view. I'm curious what you and the others think...
