|
From: Blat F. <pet...@ho...> - 2000-08-16 01:45:21
|
>From: "Ben Houston" <be...@ex...> >To: <blo...@li...> >Subject: [Blocks-development] the GRID proposal >Date: Tue, 15 Aug 2000 20:35:52 -0400 > >Hi, > >A few people (Jonathan Byron and Michael Spencer) have mentioned in the >last >days the BLOCKS project. I thought that I would drop by and tell you about >my self organizing protocol that I am developing: > >Check it out at: http://www.exocortex.org/grid.html > >And yesterday I developed the start of a growing preference algorithm in >order to grow it in a manner that will maintain coherence: >http://www.exocortex.org/growing_v01.ppt > >Although I always talk in two dimensions (planar) all the algorithms are >scalable to any dimension greater than one. > >I'm working full time right now so I do not have time to polish these >ideas. >Also we are in a very fast moving field (distributed file sharing, >distributed applications) so I want to get them out as quickly as possible. Thanks for the input. I dont know much about GNUtella other than that it broadcasts searches. I would have thought that it does a similar sort of routing as Blocks does with file advertisements (searches are not transmitted in Blocknets). Each Blocks server has upto 16 connections to other servers, and when a new file is uploaded, it is given a unique ID (which is placed in a blocklist) an advertisement is send to each connection. If the advert ID is not blacklisted it is forwarded to all connections (apart from the one it came from), and so on for upto 6 hops (its a bit like the old flood fill algorithm). The interconnection logic in blocks is currently quite trivial, when a new server connects to the Blocknet, the server it connects to advertises the new server to all connections. Other servers then choose to connect to the new server depending on how many connections they have, and a PRNG. The formulae works a bit like this... connect to new server if (16-N)*10 > rand()%100 where N is the number of current connections. so, servers with < 7 connections always react, while servers with 14 connections have a 20% chance of trying to connect. The new server should accept on a first-come-first-served basis. This hasnt been tuned but seems to work well enough for small Blocknets. Its unclear what will happen with massive Blocknets. Perhaps Michael & Erik's simulator will clarify this. Blocks also relies on each 'connection' to be indistinguishable from all the other ones so that statistical analysis of the Blocknet cannot predict the location in the Blocknet of the originator of published files. This makes designing Blocknet topologies particularly difficult since servers are restricted in the amount of information they are allowed to have about the topology. All comments welcome :-) ttfn PG. ________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com |