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
