Well, since Freenet 0.7 a node's specialization is chosen at random when the node first starts up. Previous versions of Freenet allowed the node's specialization to be determined in an emergent way - indeed nodes could have more than one specialization. We wanted to simplify things for 0.7. A while ago Ed Tomlinson proposed a neat approach to determine the point of specialization, and the degree of specialization, in a circular keyspace for diagnostic reasons - I'm not sure whether it was ever implemented though:
http://archives.freenetproject.org/message/20080802.014113.74a51e7f.da.html Regards, Ian. On Sun, Sep 28, 2008 at 10:57 AM, <gordan at bobich.net> wrote: > Hi, > > I'm trying to work out how Freenet determines node specialization within > one node, according to the keys it contains, and I haven't found any > detailed documentation on this. > > I seem to remember seeing mentions of a method to represent a node's > specialization as just another 160-bit key (if files are keyed by a > 160-bit hash), according to the "proximity" of keys in the data store to > each other and picking the point in the key space that is most densely > populated - but I've not been able to find any documentation on the > algorithm used. > > Most other DHT projects use a somewhat naive bucketing approach of > dividing the key space into a fixed number of buckets (let's say 256 for > the sake of the argument), and then doing a simple tally based on the > first byte of the keys in the store. Obviously, this approach doesn't > scale particularly well. > > So, what I'd like to know is what is the algorithm used for > determining the node's specialization in Freenet? > > Thanks. > > Gordan > _______________________________________________ > Tech mailing list > Tech at freenetproject.org > http://emu.freenetproject.org/cgi-bin/mailman/listinfo/tech > -- Ian Clarke CEO, Uprizer Labs Email: ian at uprizer.com Cell: +1 512 422 3588 -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://emu.freenetproject.org/pipermail/tech/attachments/20080929/051f6a08/attachment.html>