[ANet-devel] Re: Basic requirements
Status: Abandoned
Brought to you by:
benad
From: Benoit N. <be...@ma...> - 2000-12-02 00:56:15
|
>Hi, > >Can you explain how you a query differs from a 'message' in the system? >Surely >a query is just another packet of data that needs to be communicated to >different node/nodes in the system? I think that we are probably talking >about >the same thing. > >For this list I was focusing on the anonymous messaging part of the >application. >I'm am a bit confused about what you mean in section 2.2 of the documentation >about handling static data. How would you propose to give the >functionality of >Freenet without using a similar system? > >What do you mean by static download (about Freenet)? > >thanks, > >- Dale A query is like the searches in Gnutella: the data to transfer is small, and doesn't need to exists on the network for a long time. There is no check to see if a node already received a query. Thus, a node might receive duplicate queries. For static data, I'll explain with an example. Let say you want to have newsgroups in ANet. Each message in the newsgroup should exist on the network for some days and the data is usually much bigger than a usual query (> 20 bytes). As all static data, each message will be marked with it's creation date (when it was sent), and a pseudo-unique key (128-bit random number). When there is some unused bandwidth, a node that has some static data will try to distribute it. But since the data is relatively big, the node will always ask its adjacent node if it already has the message. This check will make some extra trafic, but this might save a lot of traffic if the other node already has the data. Because static data is long-lived, the nodes will try to cache the data as long as they can (or want), thus most of the recent postings will be available from the network. The big difference with FreeNet is that using static data is NOT recommended for file downloads, that is when a node wants to download some data from another node. This is because the "anonymous two way data transfer" allows any kind of download, while the transfer, in both direction, remains anonymous. Even using static data to store some files on the network for a long amount of time shouldn't be allowed. An example. I want to download the latest version of emacs (about 20MB, IIRC). If file downloads are made using static data, the 20MB would have to be "duplicated" to ALL the nodes on the network before the file reaches me. Unless half the nodes on the network would want exactly the same file, the precious network bandwidth will be wasted. A new version of emacs, and look at that network speed drop... So, the difference between a query and static data is huge, because they are handled completely differently. I'll put an example of a distributed network with my "passive file browsing" service. - Benad |