Push routing I was heard about the deficient delivery of pong messages, so I am glad you make some criticizing about that issue, cause I didn't have it clear. Thanks.
I suppose that most pushes have been lost due to limitations in the serven-id routing tables. Since ultrapeers mostly have good uptime I think that would be very rare to lose a push path due to a node quitting.
I propose a solution for the routing problem: what if the queryhits save its own route?. This would work this way:
1. Each ultrapeer assign a 1 Byte number to each connection it have. So a ultrapeer A which have 3 connections begin with connections 0,1 and 2. If for example host "1" quits, and then A connect to other host, that ultrapeer A will have connections number 0,2 and 3. And so on and so forth until it reach 255, then obviously it revert to 0, but it could take a time.
2. Each ultrapeer save its routing in the queryhit adding its host number where the message arrived. So a queryhit with 7 hops only need 6 bytes of routing information.
3 Then the Push include that and it could be route reading this information backwards by each node. Of course, if a node quits, its route number disappear in its predecessor and it's not possible to complete the route, but like I said that this would be a rare case.
What do you think about it?.
What about the anonymizing queryhits issue?, do you think could be useful?. |