Ken Corson <[EMAIL PROTECTED]> writes:

> (no heavy mathspeak in this one)
> 
> It seems that there are two differing expectations about how
> the datastore can specialize. Perhaps a visual representation
> of keyspace can help what I'm saying -
> 
> 
> 1)   .       .      . .   . ..-=*###*==--... .   .    .       .
> 
> 
> 
> 2) .   . -*#*-    .   .   ..    -+- .  ..    ..  -++-   . .    .
> 
> 
> 
> In example 1, the keys cluster about a single point. It seems
> most people expect this behavior.
> 
It's much easier to visualize this kind of specialization, so for that
reason only, it seems popular.

> In example 2, there are multiple points of "clustering." The
> existence of a clustering point reinforces that cluster, but
> multiple "points" exist.
> 
every request you fulfill becomes a potential cluster seed.  It
depends completely on how other nodes route requests as to whether
it'll grow into an area of specialization or whether some other
request will.

> I don't know which of these is the proper interpretation, but
> I'm leaning towards #2.
> 
#1 is way too simple to be right.  #2 is still simple, because it
assumes (or composites) that all nodes routing to you have the same
idea of what you're good at.  Since this isn't realistic, I expect
that the ideal network will still be like 2, except each node that
routes to you will have different parts of the graph.  There
should/must be overlap between what nodes understand of you for
routing to be efficient, but with just StoreData messages to pass
around routing information, there's just not enough consistent data
for nodes to form identical ideas about your node.

> And again, it is worth restating, that if the local datastore
> is only able to directly respond to some small percent of the
> total queries received, the datastore's specialization is far
> less significant than routing specialization. The estimators
> for the peers in the routing table are used to forward(route)
> those queries that cannot be answered directly with the
> contents of the datastore.
> 
> Let's think in 3 dimensions briefly: the astronomical universe
> represents the total keyspace. As expected, the universe is
> mostly empty. The keys (stars) are 'magnetic.' Case one has
> only one galaxy, but case two has many galaxies.
> 
I like the analogy.

> Does this help anyone ? Which is the proper analogy
> for Freenet's expectation of datastore specialization ?
> 
> 
Routing table specialization (having lots of data in your routing
table about a certain area of keyspace) is caused by and causes
routing specialization in other nodes (where they ask you for keys
that your routing table specializes in).  Caused by routing
specialization (but not causing anything really) is datastore
specialization; having lots of stored keys in a certain ares of
keyspace.

I say datastore specialization doesn't cause anything because it
doesn't affect the routing table (they're both affected by successful
requests at the same time).  And since nodes don't route to you
because you might have the data, but they route because you are closer
to where the data is kept, the contents of your store are irrelevant
for other nodes' routing tables (this is less true for NGRouting which
will place more weight on the quicker response caused by cached data,
but looking at it from the abstract, is still true).  

Caching data is just an optimization designed to cut down the work on
the network by having repeated requests travel shorter distances.

Thelema
-- 
E-mail: [EMAIL PROTECTED]                            Raabu and Piisu
GPG 1024D/36352AAB fpr:756D F615 B4F3 BFFC 02C7  84B7 D8D7 6ECE 3635 2AAB
_______________________________________________
Devl mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to