> With smart searches, the load on the network grows linearly with the > number of nodes, as long as HTL remains constant. You put ten times as > This makes traffic per node approximately constant, independent of the > size of the network. That's scalability.
Requests as they currently work will, in the worst case, generate exactly as much load as the searches that I propose, again in the worst case. So searching for something not in the network will generate exactly as much load (given the same HTL) as searching for something that has no matching keys. The only difference between requesting and searching is how you determine where to send the request. Requesting uses a closeness metric on the key. Searching uses the historical success of different nodes in returning matches. The efficiency of requests relies on the fact that inserts are routed the same as requests. The efficiency of searching relies on the fact that there are some small key caches and some large key caches. The feasability of large key caches is caused by the ratio of key size to data size. The network can only hold so much data. The space required to hold an index of all the keys for that data is much smaller than the data itself. Therefore, a large key index can hold enough keys to act as the key cache for many nodes. People that run large key indexes will probably connect to other nodes with large key indexes, forming a subnetwork which contains most of the keys in the local area of the network. This minimizes the hops required to find matches. Even though requests and searches traverse the same number of nodes in the worst case, I have stil supplied proposals for making network load distributed over time such that it will not harm the network. The load of many, many failed searches occuring simultaneously will only slow down other searches, not requests. On top of that, successful searches will be fast and the search mechanism will be flexible for different kinds of searches. > and there will still be N squared traffic load. Unless you can show > that the percent of the network searched will DECREASE significantly as > you go to larger networks, it won't change the basic conclusion. It will stay constant with a constant HTL. It will decrease as more nodes with large key indexes are added to the network. The speed is determined by the index size to data size of nodes. If there are just as many keys as data items, it will stay constant as more nodes are added. If there are more keys than data items, it will decrease as more nodes are added. Any, of course, there is the test case of Gnutella, which uses unoptimized, uncapped, uncached broadcast searches and scales to thousands of nodes. _______________________________________________ Freenet-dev mailing list Freenet-dev at lists.sourceforge.net http://lists.sourceforge.net/mailman/listinfo/freenet-dev
