[ Home | Class Roster | Syllabus | Status | Glossary | Search | Course Notes]
Freenet
Gnutella
Napster
Ian Clark while at University of Edinburgh. Return to original concept of ARPANet - fully distributed fault tolerant network
FREE = information freedom - freedom of speech - beyond censorship
Nature is decentralized.
No central control or administration
Anonymous info pub and retrieval
dynamic duplication of popular information
location of info depends on demand
DNS: hierarchical domain names INTO IP addresses
domain names are controlled by central - monopoly
can censor
can gather information
How to find URL - use search engine - choke points in the internet
Search engines can censor (or preferentially direct to paying clients)
As get more popular - may need to move to different server - requiring change in URL!
Mirror (statically managed)
caching (censorship)
not anonymous
can track users interest (politics, etc)
newsgroups
decentralized
must copy all messages to all servers
Can withdraw messages - even if not original sender
long term storage
protected
hardware security servers which encrypt files
when requested, decrypted, then encrypted with requester's public key
not efficient
Use navigational system based on closeness in some metric space
Search in a maze with a proximity sensor which points to the target
Thus a request is either satisfied locally or goes to the node which is closer (in some sense) to the information
Once found, information flows back the way the request came and is stored along the way.
new information replaces the least recently used information in a node.
similar information will cluster
information will migrate to its use
information may be removed from original node
Information will disperse to minimize some dispersion energy function
QUESTION: will seldom used information survive
will popular junk take over the net?
Need the following relationships
Equality
closeness (bool compare(Key a, Key b, Key c)
true if a is closer to c and b
must satisfy transitivity
A is closer to something it is equal to than to something it is not equal to
Could use
integer comparison of the difference of two pairs of integer keys
could divide key into tow parts (call them x and y) and use distance in euclidean plance
Could go to higher dimensional vector spaces - where each part is interrupted as a coordinate value
Notice that the concept of closeness is structural NOT semantic
nodes identical in terms of authority and capability
Need not use identical algorithms but must follow message protocol
robustly handles incorrect or lost messages
info duplicated and moved to optimize performance
Message types
data request
If node has data, responds back to sending node
Else records information for sending back and forwards to next best node.
data reply
ignores if did not previously send data request
forwards to original sender of data request
retain local copy for future requests
request failed
TTL expires
ID seen before - backtracking error (cycle detected)
send to next best node (maze searching algorithm)
data insert: way to get new info into system
nodes stores key and data
forwards to nodes that have keys "close" to new key
Messages have a unique ID and TTL (messages received with a TTL of 0 generate a request failed message)
Only know previous sender not original
Each node has a cache managed by least recently used.
Part of cache contains keys and DATA
Part contains Keys and references