Slashdot Mirror


"Random Walkers" may speed P2P networks

sean23007 writes "New Scientist posts an article about an innovative new method of controlling P2P traffic to maximize speed over a very large network. The idea, thought up by researchers at Princeton, Berkeley, AT&T, and Cisco, involves sending random "walkers" around the network, looking for a particular file, which would theoretically yield much better search speed than such other networks as Gnutella. They claim this could result in a network very capable of facilitating a massive distributed supercomputer."

47 of 129 comments (clear)

  1. Building this capability on top of existing networ by Space+Coyote · · Score: 3, Interesting

    It shouldn't be too difficult to build a system like this that could operate over something like gnutella. You could monitor the search queries and record the most popular requests, then you could use the random walker technique to search out the best sources for these requested files. Anybody else running the same software could enter in a search query and have it look first in the list of popular items before doing the standard crawl-type search over the gnutella network.

    --
    ___
    Cogito cogito, ergo cogito sum.
  2. Two important caveats from the article: by StandardCell · · Score: 5, Insightful

    "...such file networks have particular difficulty locating uncommon documents, and that walkers are especially bad at it. This is because there are relatively few walkers, which might have to visit every node on the network to find the file.

    "Langley also says the different connection speeds and processing power of the individual computers in the network may complicate the model: "Random walkers are going to end up at the well connected nodes."


    My biggest pleasure from P2P is finding obscure or rare music. I could care less how many copies of N*Sync or Britney Spears there are. Give me rare studio cuts or bootleg recordings of the Grateful Dead any day. This strategy won't help searches for those types of items, but it sure will help the sheeple get their music.

    1. Re:Two important caveats from the article: by SuperCal · · Score: 2

      I'm getting moded down for this, but.... You're Coyboyneal arn't you.?.

      --
      Business News and Resources: www.usasource.net
    2. Re:Two important caveats from the article: by Erasmus+Darwin · · Score: 2
      "Give me rare studio cuts or bootleg recordings of the Grateful Dead any day."

      Try www.etree.org. Since the Grateful Dead were cool with bootlegs, there are more reliable distribution means than P2P systems.

    3. Re:Two important caveats from the article: by pacc · · Score: 2

      I guess you could add many modifications as for example a gravity to increase the chance for the walker to go on to a server with many files. Though I suspect that a server with only one file would pass the walker forward with minimum delay so in reality pingtime might be a better criteria to look for, so the randomness might be better left unchanged.

      Another way would be walkers multiplying after a certain distance together with a limited lifespan. But this could get very close to the flooding model unless most searches returns a result pretty fast.

      I guess the problem to find what _you_ want is best solved by a few associated searches of you common favourites and using the places of these to start all new walkers. If these sites have the same interests as you, you might benefit from a system where they in turn forward your walkers with a greater probablility to their favourites...

  3. Random Walkers and other algorithems by Juhaa · · Score: 5, Insightful

    If your on a marginally slow network (say upto a T1 (24 lines at 64 kbps)) and if you enable full node peering support on a Gnutella like network, you know why Random Walkers is needed. Cause the networks have become so huge, most of the bandwidth is taken by message searches. Even if you are not a node peer you would still be saturated by these.

    The Random Walker idea isn't new, it was tried a few times before as well on the orginal Gnutella network when they first came out. But, I don't think Random Walkers would be the answer to this network, the bigger the network gets, even Random Walkers would saturate the bandwidth and all you'd have is these bots finding the optimal path to files.

    Presently the network works much like how old routhers worked. Search packets are broadcasted to peering nodes which then broadcast the same packets off to their own neighbors. But the problem is that their own neigbors are sometimes the ones that sent the orignial packets. If this was to be done efficently (and how routers implement it), they need to create buffers to hold searches, once a search is recived a search would not be propagated to the other peers, it would be held for a given time period (say a few milliseconds), the node would then wait for the same search to appear from other neighoring nodes, it if does then it wouldnt send this search off down that node. This would cut down a lot of the wasted bandwidth and I am not sure why Gnutella ppl didn't model p2p after these routing methods.

    Walkers in an intellient routing setup would be the most optimial way of doing p2p, hopefully this would loose up some of on the congestion on the current p2p networks and let people with less bandwidth access to the shared files with the least sacrifice on bandwitdh for searches.

    1. Re:Random Walkers and other algorithems by kesuki · · Score: 2

      What bothers me about p2p is the fact that 1 search = 1 packet. Every packet has overhead, a lot of it. There are people out there running (a guess) 99 searches at a time, and resending the search every few minutes/seconds.
      what about making all searches that originated from a single client take 1 packet. Add in an optional compression, so that people who need it can enable it, and you can easily go from the 100,000 user threshold to probably 500,000 users, without needing these 'walkers.' walkers are very bad for finding rare stuff. So they only help people looking for the most common stuff. but yeah, with better routing, beter packet design, gnutella would go a lot farther.

    2. Re:Random Walkers and other algorithems by Sanity · · Score: 3, Informative
      Walkers in an intellient routing setup would be the most optimial way of doing p2p, hopefully this would loose up some of on the congestion on the current p2p networks and let people with less bandwidth access to the shared files with the least sacrifice on bandwitdh for searches.
      Freenet does something quite like this. Requests are routed based on local heuristic knowledge of the network, information gravitates towards the demand for that information through a form of dynamic mirroring.

      this paper (PDF) gives a great overview.

    3. Re:Random Walkers and other algorithems by evilviper · · Score: 2
      the problem is that their own neigbors are sometimes the ones that sent the orignial packets
      No, that's not the problem. Your analogy to routers is incredibly inaccurate. Routers don't request routing updates every time someone uses a route... Indeed, router's functions are far different.

      The problem with Gnutella is this; each query must be sent to every node. That's a lot of traffic! The TTL can help prevent the broadcasts from going out of control, but the more effecient searches, the fewer the results that come back.

      What needs to be done to solve this problem? I think it's simple... Store lists of shared files from each node.

      Each node whould maintain a list of files it is sharing, the hash for each file, and the hash for the list itself. Each node collects the lists of every node it is connected to, periodically requests the hash, if the hash is different, requests the new list (or perhaps, like CVS, just the diff).
      So, when my node connects to another Gnutella node, that node sends me a cumulative list of all the shared files it knows about, as well as it's list of shared files. After that, my node will periodically request the hashes, to ensure nothing has changed, and can request individual host's file lists from my directly connected nodes.

      Now THAT is how Gnutella should work.

      One problem with that system, is full disclosure... Anyone can then, easilly decide who is sharing the most files, and target them. With the current Gnutella scheme, disclosure is more limited, but the bandwidth and scalability is a large price to pay for controlled, limited disclosure.

      One more thing Gnutella needs; queuing of downloads/uploads. Right now, even if you've been trying to get a file for hours, someone who's just requested it can get it first, it's just a case of requesting it when there's a download slot. I'd much rather see a FIFO queue of uploads and downloads, and a message passing system, so that each node knows it has 10 other nodes in the queue before itself.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  4. like the saying goes... by r00tarded · · Score: 3, Funny

    to know the path you must walk the path

  5. The research paper by sitcoman · · Score: 4, Informative

    The paper that was presented, entitled Search and Replication in Unstructured Peer-to-Peer Networks, can be found here (top of the page)

    --

    -=20
    me doesn't live for do [DEPRECATED]

  6. Humans are the best robots by popeydotcom · · Score: 3, Interesting

    Why let some algorithm trawl around your network when you can let some human dweeb do it for you. The problem with robots - or computers in general, is that they can be fooled into thinking something is something else.

    Personally I use Filemirrors. It shows what people are really downloading.

  7. More Q&A by sam_handelman · · Score: 5, Funny

    Q: Can we use it to predict the weather?
    A: Yes.

    Q: Well, that's not bad. Can it model the behavior of biological molecules?
    A: You betcha.

    Q: Still, that's rather pedestrian. Can it find large prime numbers?
    A: Numbers so big we can't even say them.

    Q: Hmm.. almost there. Can it evaluate complex object-relational predicates to get me EXACTLY the porn I want?
    A: Er..... Yes.

    Q: Excellent! Now we're talking. From the output, can we say conclusively that all of the porn which I want has been found?
    A: Please go away.

    Q: What about porn that I don't want - gay porn, scatalogical stuff. Can you guarantee I won't get that?
    A: Fine, yes. It predicts what you want from your past behavior and is always right. Happy?

    Q: Isn't that an invasion of my privacy?
    A: Arghhh!

    --
    The good and new comes from no quarter where it is looked for, and is always something different from what is expected.
  8. They're on the right path by Jeremiah+Blatz · · Score: 3, Interesting

    Ohh, bad pun, sorry.

    But really, I think the way to think about P2P downloading is to use non-interactive search agents. These guys are on the right path, the random walkers appear to be a bit brighter than an exponentially widening search.

    The problem with current p2p networks is that the database is constantly churning. It's not like the web, where data is relatively stable. Two identical searches performed within minutes of each other will return different results. The problem, of course, is that polling the network with these huge searches inflicts a massive bandwidth cost.

    A better system would be to have a search agent. You would enter a set of search criteria (with a richer syntax than the existing model), and every 30 seconds or so the software would fire off an agent. The agent does a random walk, then downloads anything that matches. You then go on about your business. When the agents have collected a sufficient number of results. it alerts you.

    This lacks the immediate satisfaction of searching and getting results right now, but when you're looking for obscure stuff, you don't get that satisfaction anyway.

    Also note that the autonomous downloading assumes you're looking for something reasonably small, like an mp3, and not Girls Gone Wild.

    Of course, it also has the advantage that if gives an incentive for hosts to remain connected longer, adding to the stability of the entire system.

    1. Re:They're on the right path by ShaunC · · Score: 2
      The problem with current p2p networks is that the database is constantly churning. It's not like the web, where data is relatively stable. Two identical searches performed within minutes of each other will return different results. The problem, of course, is that polling the network with these huge searches inflicts a massive bandwidth cost.
      And to add to this (excellent) point, even where the content may be fairly stable, the IP addresses aren't. Several times I've inherited the IP of someone who's been using P2P stuff, and each time I wind up getting hammered on Gnutella and Kazaa ports for hours - sometimes days - as a result of my predecessor's filesharing. (And even if I fire up a Gnutella servent so that inbound download requests get answered with "Not Found," the fscking servents don't care and will continue to hammer away as if the file might magically appear on my HD... But that's another rant altogether.)

      So you might have a user who always shares the exact same files, and as such his "node" is static and the content is always available from him... Though if he gets a new IP address every time he reboots, any stored listing of his shared files will quickly become outdated.

      I'm not sure a random crawler would be too effective for this application. It does work for network mapping, and I believe Limewire has been doing it for some time. In order to compile a reasonably accurate list of files, though, such a crawler would need to either a) purge any entries more than an hour or so old, or b) constantly verify the validity of each result. Choice a) would give us a listing that's no more accurate than what the network's own search functionality provides, and as you mentioned, choice b) would consume an enormous amount of bandwidth. Neither option seems too appealing.

      Maybe if IPv6 ever kicks in, and IPs are reasonably static across the board, such a crawler might work; at least half of the problem would be solved.

      Shaun
      --
      Thanks to the War on Drugs, it's easier to buy meth than it is to buy cold medicine!
  9. You are a genius by HanzoSan · · Score: 3



    buffering searches would definately solve the problem.

    Why dont we buffer the searches and cache the route somehow, on certain computers so that when anyone else searches it goes directly down the preset buffered path?

    Ok since you have the solution, go implement it, code it!

    --
    If you use Linux, please help development of Autopac
  10. non-real time searching? by jeffehobbs · · Score: 4, Interesting


    It occured to me a while ago that the ability of a peer-to-peer's network to provide a particular file would go up dramatically if less emphasis was put on "real-time" searching and instead in a sort-of subscription model -- the user would request a file, and the request could propagate overnight from client to client while the network itself decided the best/most reliable way to provide that particular file to that particular user... beyond privacy concerns and TTL spoofing on requests (which are probably both non-trivial problems with this idea) I'd certainly be willing to wait a couple days to get a particular file or set of files as long as I didn't have to "babysit" the client and as long as I could be assured that the file would be full and complete when it finally arrived.

    ~jeff

    1. Re:non-real time searching? by David+Gerard · · Score: 2
      "It occured to me a while ago that the ability of a peer-to-peer's network to provide a particular file would go up dramatically if less emphasis was put on "real-time" searching and instead in a sort-of subscription model -- the user would request a file, and the request could propagate overnight from client to client while the network itself decided the best/most reliable way to provide that particular file to that particular user... beyond privacy concerns and TTL spoofing on requests (which are probably both non-trivial problems with this idea) I'd certainly be willing to wait a couple days to get a particular file or set of files as long as I didn't have to "babysit" the client and as long as I could be assured that the file would be full and complete when it finally arrived."

      This having been the secret sauce for AudioGalaxy - the fact that you could queue your requests, that it would fetch them from whichever client had them, and that you DIDN'T HAVE TO BABYSIT THE DAMN CLIENT.

      The way they did it was to store your requests on the (easy non-moving target) central server.

      Whoever can create a p2p network duplicating this functionality will get every orphaned AG user descending upon them with shrieks of joy and large hard drives full of goodies. Walkers might be the way to implement this.

      And THAT will make the RIAA shit an entire brickworks, which is almost reason enough.

      --
      http://rocknerd.co.uk
    2. Re:non-real time searching? by MasterVidBoi · · Score: 2, Interesting

      You might like eDonkey 2000.

      While I don't know how searches work exactly, they do continue to add new results long after I send them. As for downloading files, you give it a file size and an mp4 hash, and it'll go running around the network trying to find that file. It seems to do a good job of downloading from multiple sources at once.

      I run a third party client, mldonkey, as a daemon. A couple times a day I telnet into the daemon and check on the status of my existing transfers. It's not fast, but it will eventually get the file...

      As for searching, I barely use that anymore, since there are a couple indexing web sites out there (namely http://www.sharereactor.com), that have a large index of reviews of particular files (such as video quality), and will provide you with the size/hash of that file. When you go to ed2k, you'll get exactly that file. It seeems to work pretty well.

    3. Re:non-real time searching? by David+Gerard · · Score: 2
      "WinMX [winmx.com] does this with "Autocomplete". It's my P2P client of choice. Too bad it's closed source, and Windows only."

      Well, it doesn't quite - I've been using it for a few weeks and it still needs way too much babying not to be horribly delayed in getting anything.

      Going from AudioGalaxy to WinMX is like going from OS X to Windows 95.

      --
      http://rocknerd.co.uk
  11. The paper is online by jdbarillari · · Score: 3, Interesting

    Qin Lv, one of the researchers, was a TA in one of my classes last semester. She has a website, and the paper is posted there.

    1. Re:The paper is online by ahaning · · Score: 2, Funny

      I'm not sure if I would trust her paper given that she's got a 2MB .au file embedded in her homepage. That's no way to ease the load on the net.

      --
      Withdrawal before climax is very ineffective and those who try this are usually called "parents."
  12. Better routing on changing networks by oliverthered · · Score: 2

    How about things like.

    I'm looking for that too searching.

    Only letting nodes return results if they have an uptime of more that 10mins or so.

    Nodes caching recient searches and performance stats.

    Quick searches (hits popular search caches) and deep searches.

    --
    thank God the internet isn't a human right.
    1. Re:Better routing on changing networks by Juhaa · · Score: 2

      I agree different heuristics should be used on different querries. A node can be promoted up the ladder depending on the speed, the quality (see the fake mp3 problem), and the realiablity of service it provides.

      Searches need to be cached and stop and forwarding techquies need to be used instead of the current boadcast methods. We need to store the search results for a given amount of time and intelligently compare it which peers that would give the best results.

      Also we need efficent QoS methods and dynamically adapting those to the network enivornment. QoS on modem connections should be much more different to say someone on OC3 connections.

      Also as someone mentioned we need better methods of keeping track of efficent routes, I believe the whole thing lies in making the nodes behave more like routers and intelligent routers in that. We have almost limitless amount of memory for routing storage, why not use it?

  13. Re:I want P2P slashdot... by 1010011010 · · Score: 2


    All of the ads on /. seem to be for sourceforge these days. That's probably not a good sign.

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
  14. This would be easier to disrupt by Henry+V+.009 · · Score: 2

    This might be easier for non-conforming members of the P2P net to disrupt (The RIAA). If everybody followed the rules, you'd be fine. But since the point of origin is contained in the walker itself, it would be trivial to crapflood the entire system with random walkers, all with different points of origin. Since random walkers are more bandwidth intensive than normal searches, you'd make everything slow as syrup.

    1. Re:This would be easier to disrupt by Henry+V+.009 · · Score: 2

      It has to know how to stop somehow.

      One way, just to have the random walker work for a set number of node changes, would A) be useless because it doesn't check enough nodes before ending, or B) be a bandwidth hog because they last so long and an attacker (or someone who just wants to search faster) can create a great many extra random walkers. Both ways would nearly useless for finding uncommon stuff, because of search replication.

      The other way is to check back home to see whether the thing has already been found.

  15. Re:Building this capability on top of existing net by brad3378 · · Score: 2

    I still want to see an option on GNUtella to automatically download Songs from a top10 list

    Wouldn't be too hard:

    cron - schedule the script execution while I'm asleep
    wget - to download the html
    perl - to strip out the file names and write out a "wanted list"

    maybe a script would even burn CD-RWs of the top weekly songs.

    I'm sure that these songs are the ones creating the most traffic, so it is almost the same concept. I like my idea better because you don't need to manually type a bunch of stuff.

    --

  16. Even better yet by PureFiction · · Score: 3, Interesting

    Use a non random walk (i.e. tuned to a specific domain or set of preferences) and let it walk the network with a lightweight UDP protocol:

    cubicmetercrystal.com/alpine/

    The conservative use of bandwidth with an intelligent search mechanism can provide scalable decentralized search for peer networks of any size.

  17. How to make a random walker by Basalisk · · Score: 2

    It's easy. Just give a Googlebot a large bottle of grog (I suggest Bundaberg Rum.)

  18. Re:I want P2P slashdot... by anthony_dipierro · · Score: 2

    No, I mean something that actually works.

  19. The solution is easy, but the problem is piracy by Animats · · Score: 2
    If this whole "peer-to-peer" thing weren't about piracy, the problem would be easy. Just put all new music releases on Usenet as binaries. Each new song would traverse each netnews link no more than once. Major ISPs would have local netnews servers, and everybody would just download from their local server. There would be user-friendly music-oriented clients for end users, from the same people who develop "jukeboxes" now. Problem solved.

    But no, we can't do it that way. It takes orders of magnitude more bandwidth to support music "sharing" as currently implemented. What we have now is comparable in efficiency to buying groceries on eBay.

  20. Re:I want P2P slashdot... by HanzoSan · · Score: 2

    It does work, well sometimes, its working right now but im sure they will break it again

    --
    If you use Linux, please help development of Autopac
  21. Re:I want P2P slashdot... by HanzoSan · · Score: 2

    yesterday it was working great, today it seems to not work for me anymore. Its getting faster quick though, yesterday it was almost as fast as the WWW.

    --
    If you use Linux, please help development of Autopac
  22. Gnut does something similar by plastik55 · · Score: 2

    The Gnut client will drop any connections that it sees too many duplicate packets on. However, it doesn't help with the badwidth problem that I can see, since the bandwidth consumption is due to the rebroadcasting nature of the network and not necessarily the fact that you're recieving duplicate packets.

    --

    I have a positive modifier on Troll. When I mod someone Troll their karma should go UP!

  23. Re:Even better yet (CONT) by PureFiction · · Score: 2

    The main advantage of intelligent walking is the ability to find obscure or unpopular data quickly once a peer group is tuned to your preferences (all done locally using implicit query feedback when interacting with peers).

    This is important as the paper mentions the problems random walkers have with regards to unpopular resources.

  24. Just like The MS Office Tool! by dbretton · · Score: 3, Funny


    I can picture it now, playing Return to Castle Wolfenstein, with Gnutella running in the background...
    Suddenly, my framerate grinds to a halt.
    "F%#!!@ Gnutella findfast"

    1. Re:Just like The MS Office Tool! by ImaLamer · · Score: 2

      I always just leave my searches "open" in Gnucleus (IMHO the best) and my search just grows and grows.

      It's great for when you are looking for seasons and not just episodes of your favorite shows to archive.

      Say for example, I want to get divx copies of the Friends episodes my girlfriend has on tape, I simply just search Friends AVI and leave it open. All the time it finds new hosts, and even gives me more places to download my existing selections from.

  25. Random Walkers by inode_buddha · · Score: 2

    Cool idea, I'm wondering what other uses there might be for this. I do have one question though: how random is the randomness? Will there be some applied chaos theory at work (such as strange attractors)? How do you decide upon the point where the approach to pure randomness (starting from a non-random beginning) is too expensive in network terms?

    --
    C|N>K
    1. Re:Random Walkers by xee · · Score: 2

      There will be biased random number generators in the peer nodes. This is unavoidable unless you equip each node with a geiger counter (HotBits). However, since there will be true randomness in the overall structure of the network (i.e. various types of systems will be randomly distributed across the net). This random network structure will compensate for the peudorandom number generators running in the peer nodes.

      --
      Oh shit! I forgot to click "Post Anonymously"...
    2. Re:Random Walkers by John+Hasler · · Score: 2

      "Cool idea, I'm wondering what other uses there might be for this."

      Distributed DNS.

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    3. Re:Random Walkers by John+Hasler · · Score: 2

      I mean _truly_ distributed: not hierarchical.

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  26. Related Paper by chaih · · Score: 2, Informative

    The paper mentioned in the above article is available (full version) here

    Extended version here

  27. Another, i think somewhat better approach. by jon_c · · Score: 4, Informative

    Is a project called Circle. It uses the idea of a distributed hash table.

    The Author has a overview here.

    My brief synopsis:

    The network is orginized in a circle, like a circular link list, each node knows about it's neightbors it's neighbors neighbors and maybe a little more, bassicly every node knows about maybe 6 or so other nodes. Each node keeps a section of the hash table, say 0x0500-0x1000 or so.

    Each search item is hashed and then sent left or right depending on if it's less or greater then range you are storing, so 0x3000 would be sent to the rightmost node because it's larger. That node would repeat the process, therefore making the search a lot like a binary search.

    -Jon

    --
    this is my sig.
  28. anonymous databasing? by dh003i · · Score: 3, Insightful

    Here's an idea...

    Rather than dynamically searching for the file you want each and every time you type in the name, why not each user create a data-base on the files all the other users on the network are using?

    Once you get on the network, it does a search and accesses other people's database, so your current file database is updated.

    This would require much less bandwidth than searching dynamically every time you typed in a search term (though it would require a little bit of hard drive space), and it would allow search results to be produced very quickly, as you'd essentially be searching a file on your hard drive.

  29. Rather than just random... by oaksey · · Score: 2

    perhaps files should be stored (or at least indexed) from newest to oldest? "The team also showed that deliberately storing information in a random fashion made the network function more efficiently and that there is an optimum number of copies of a file, related to the number of requests that file gets." If files where searched in the order of newest to oldest it would be effectively stored randomly in an alphabetic sense. Then most importantly people are more likely to be searching for recent files and will get results for them sooner. Caching of results of walkers before they are sent on, for a period of time, would surely help as well.

  30. Re:Building this capability on top of existing net by brad3378 · · Score: 2

    Check out the different lists on Billboard.com Sometime. I agree with you that most of the top 40 stuff sucks (i.e. Britney Spears, Boybands, Etc.)
    I happen to prefer the Modern Rock list myself.

    Perhaps what we all need is a "don't play their own instruments" Filter :-)
    Seriously though, an ignore list, or a feature like Amazon's "other customers who bought this also liked...." feature might have potential.

    One this is for sure, Hard Drive companies would love this because we'd all fill our harddrives fast.

    --