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