When exactly did the massive network failure happen? I've read all the NGrouting Docs, and I always had quiet reservations. I never thought the 10 points model could work well enough to provide internode routing. I just assumed that I would be pr oven wrong when it all came together. However since this is not currently happening, I'll just throw some thoughts out there.
NGrouting uses 10 points to estimate the the specialization of each node you contact to. My question, is in essence is, "how can this work?". This model is all well and good if you are connecting to an existing network as a client. You get a very good idea of where to make requests and generally how to route your data. So when nodes route their first hop, However what happens during the last few hops during an insert? Ten points spread out over 0-2^160 is not many points. Also many nodes have a large number of arias of specialization. (More than 10). Can nodes relay distinguish the difference in specialization of two nodes which specialize in the same (1/256^10)th of the keyspace? (That assumes 256 outgoing connections, and 10 hops in). If so how, and does this work in the same way that the old routing system did? For example the old routing method meant that two nodes could independently develop similar specializations and find themselves in similar places on the network. Then sourounding nodes would likely connect to both of them and slowly their specializations would separate, not in an overview of keyspace, or in terms of their location of the network, but rather their datastores would develop an almost barcode like pattern, where by one had lots of keys in one location, and almost none in another very close by, which were inturn held by the other node. Consider the following: Suppose that for whatever reason (Upgrading nodes / datastores / computers) most of the nodes on the network were running the latest code and their datastore's are not within 90% of being full. So probabilistic caching has not kicked in yet. If this is the case, and we on average have 512 connections open per host on the network, how long will it take for the network to develop a defined specialization and all the nodes to start routing properly? There are not that many original requests being made, per node on the network right now. This is mainly because they are all failing. So if your node makes a request and it does not have much information about the network, the first step is more or less random, then most of the nodes that receive the request fail, so they are look bad by the estimators standards, so the next time the request is sent to untested nodes, as they have very good estimates. Supposing these new nodes do successfully, somehow, get a hold of the data, their stores are not yet full so it is cached, and they credit the node they got it from for the data, and you them. The problem is that this is not a very strong recommendation for that node in the future. IE: by comparison, the old routing scheme would select to route to that node again whenever that key was the closest previous match it had seen. By compairson the new routing system only 'pulls' the sourounding point estimates towards that point. This is also almost surly gives it a WORSE score than it had before because new nodes have such high estimates. Also I am not aware of nodes that failed to find the data being punished in that particular aria of key space, only overall. (Someone correct me if I am wrong about this.) This would mean that a node could not develop a good idea of any particular nodes specialization until after it had tried that general aria of keyspace on every node that it knows about. (Or use that knowledge until it has explored all the newly connected nodes) None the less this can't be the sole cause of current problems, as I am not aware of high node turnover, however it is not helping. _______________________________________________ Devl mailing list [EMAIL PROTECTED] http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl
