On Mon, 6 Oct 2003, [iso-8859-1] Some Guy wrote:

> 1) We do/could know that specialization happens.  If we assume my peers
> have an idea of what my specialization is, and they have this from 
> measuring my ablity to handle requests, then I know all of this too.  In 
> fact I should be able to calculate thier 10 points.  I should have more 
> data about how well I have routed than anyone else.

Let's imagine that you get requests for all sorts of data.  You find them 
as best you can and return them as quickly as possible.  You compile 
information about how fast you found it and were able to return it.  You 
now know what area of keyspace you're best at serving, what areas your 
pretty good at, what areas you have no idea about, so on.  You have more 
information about yourself than I have about you.

I want information and I make various requests to different nodes for 
different areas of keyspace.  I build up knowledge about how fast my 
neighbors return all sorts of keys.  I know what options are available to 
me, and I know it better than you do.

When the NGRouter makes the decision on who to route to, which information 
matters more?  What you serve the fastest or who can serve me faster?

I may not want you to give me what you serve the fastest.  The value of 
your node may not be what you serve fastest.  A popular piece of data may 
be all over the place, and thus you're able to get it lightning fast, but, 
hey, so can everybody else.  If it's popular, I may want to route requests 
for it to some supernode, and save your slower connection for less popular 
areas of keyspace.

As a real world analogy, imagine a library group that shares their CD 
collections.  Whenever somebody wants a CD they email somebody and ask 
for it.  If the person doesn't have it, they, in turn, email somebody 
else to see if they have it, and so on until somebody has it.  It then 
gets sent back through the chain.  When that original person is done with 
it they pass it back to who they got it from, until either the original 
holder gets it back, or until somebody says, "I don't have the room.  My 
CD binder is full.", and the person keeps it.

Our group has three copies of The Doors' Greatest Hits among us, 
thirty-two copies of Lamya (we're big Lamya fans), one copy of 
Rachmaninoff, five or six Beck CDs, so on.  There's plenty of Lamya to go 
around.  You want Lamya?  I can get it like that. *snaps fingers*  But 
that one copy of Rachmaninoff is going to take a few emails.  I'm not sure 
who has it.

Now, you may say that you can get Lamya the fastest, and thus exert 
whatever selective pressure on others to get them to ask you for Lamya, 
but that may not be your most effective use in this social network.  It 
may be that my other friend Jane is a computer addict, spends all her time 
at the computer and checks and answers emails once an hour, on average.  
What's more, she has a car, and can bring the CD right over.  If Lamya is 
popular, it makes sense to have Jane either keep the Lamya CDs or to keep 
track of who has them.  You, on the other hand, have a job that you're at 
most of the day, and you only check your email once a day, in the evening.  
Plus, you're a public transit surfer.  It takes you a couple of hours just 
to get downtown, let alone to some outer suburb.  It makes sense, for the 
group, to let you keep track of Rachmaninoff.  It's only once in a while 
any of us gets the urge for Rach anyway, in which case we can wait a bit 
for it.

It is not necessarily the case that your specialization should match what 
you route fastest.  Routing and specialization are not inherently linked.

> 2) We have to assume specialization happens somewhere, otherwise Freenet
> won't work.  Right?

I guess it depends on what you mean by "won't work".  Freenet would be 
less useful without specialization.

> 3) I've still got to know what you mean by "naturally".

i.e. No "smarty pants" second guessing their role.  No code to explicitly 
effect or affect specialization.

> I'd like to point you to your own documentation freenet-ieee.pdf -
> "Training Routes" :
> "As the node gains more experience in handling
> queries for those keys, it will successfully
> answer them more often and, in a positive feedback
> loop, get asked about them more often."
> 
> That word "feedback" seems to imply that specialization information does not
> travel "one way".

Correct.  That feedback is what NGRouting is all about.

> Assume there were no feedback.  All my neighbors would essentially randomly
> pick what they considered me to be speicialized in.  Probably none of my 
> neighbors would pick the same thing

Well, no.  I believe that, when a node is new in the network, it's 
announcement contains a seed of sorts that let's everyone start off 
pretending you have the same specialization.  (I'm not sure on these 
details, however.)

1) Routing and specialization are not inherently linked.
2) Specialization does not equal datastore contents.

-todd
_______________________________________________
Devl mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to