|
From: Blat F. <pet...@ho...> - 2000-08-17 13:56:43
|
>From: "Ben Houston" <be...@ex...> >To: "Blat Froop" <pet...@ho...>, ><blo...@li...> >Subject: [Blocks-development] comments on the Blocks architecture... >Date: Wed, 16 Aug 2000 18:13:50 -0400 > >Hi PG, > > > 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. > >Why do you have to many connections? Did you know that in a truly randomly >connected graph you only need only around 2.5 - 3 connections per node to >guarantee that the network is connected? You could go for 4 or 5 if you >really wanted to be secure. Is 16 too many? I have no real idea why I chose 16 originally. Its easily changed up or down, so this is something we can tune later on. I guess I wanted a number that was big enough for the blocknet to survive a network outage without becoming fragmented, and also allow end to end routing in a small number of hops (very important for relay netorks) but small enough so that servers can cope with duplicate ads. I would currently guess that connections per server would average around ~12 and that each advert will be received ~4 times. Im actually considering wether or not a larger number of connections might make sense. This would have the benefit of reducing end to end hops and allow more interconnections, and instead of sending adverts directly (at ~120bytes each), the server could just send the advert ID (at 16bytes, or even half the advert ID at 8 bytes, or a quater at 4bytes) and allow the destination server to 'request' the advert if it hasnt already received it. This slight increase in complexity might dramtically reduce broadcast traffic. Still, just thinking out loud for now :-) > > > 'File advertisements' are broadcast through out the > > network. Your Blocks application needs to be running > > to see them. When you do a 'search' you are actually > > searching the local list maintained by your Blocks > > application, searches are never broadcast. > >Okay, so I guess the point of this is that you encourage >people to remain on the network for longer periods of times >since it increases the number of files that they can see. > >When a new client connects do you pass along the index of files >of the clients that it connects to? Over 11 hours or so they are sent ~10% of the servers advert cache. Currently 90+% of adverts from multiple servers will be duplicates since they all send the same 10% of cache. I guess we could send a random 1/3 of the first 30% or so and this would be much more beneficial, but nothing is planned for now. > >How do you track which files have dropped off the network because >those clients left the network? When servers disconnect (no clients in Blocks :-) a 'bad route' message is broadcast throughout the blocknet and all the servers mark the appropriate files in their advert cache as being unavailable. It actually uses a slightly less correct but much more efficient mechanism for doing this by maintining a 'bloacklist' of bad routes, but the effect is the same. > > > Other servers > > then choose to connect to the new server depending on how many > > connections they have, and a PRNG. > >What's a PRNG? > >Also how do you protect against someone broadcastings a bunch of lies >instead of a real file index? See Michael's post. Authentication is the only obvious suggestion suggested so for, using a Web-Of-Trust to maintain relative anonymity. > > > Perhaps Michael & Erik's simulator will clarify this. > >Neat, I'm writing a simulator too. To start with I've created >a few classes for creating random graphs and measuring >the connectivity. ...it should be really easy to figure out: > http://www.exocortex.org/~ben/graphtools_v01.zip > >I'm planning on making a multithreaded simulator once I get some time that >will simulate the behavior of clients rather than just a weighted graph. I >hope to make a visualizer for it a la NetViz: > http://www.exocortex.org/netviz > Wow! purdy pics :) I think the Blocks simulator was intended to produce text output, but I suppose an 3D OpenGL application would suffice at a push ;-) ttfn PG. ________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com |