> 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

Reply via email to