Quick question about how DC currently works

Technical discussion about the NMDC and <a href="http://dcpp.net/ADC.html">ADC</A> protocol. The NMDC protocol is documented in the <a href="http://dcpp.net/wiki/">Wiki</a>, so feel free to refer to it.

Moderator: Moderators

Locked
Kent Wang
Posts: 1
Joined: 2003-04-09 03:30
Contact:

Quick question about how DC currently works

Post by Kent Wang » 2003-04-09 03:36

So the way a search is executed is that the client sends it to the hub, which then sends it to each of the connected users? In other words, the hub does not maintain a master copy of everybody's shares. If so, how scaleable is this? If all DC users were connected to only one hub, would some clients be overwhelmed by the number of queries? (not to mention the hub itself for having to send out a copy of the query to every single user).

I believe Napster actually maintained a master database.

[KUN.NL]mepmuff
Posts: 73
Joined: 2003-01-06 09:32

Post by [KUN.NL]mepmuff » 2003-04-09 04:06

Keeping records of peoples shares is exactly what killed napster

Brian
Posts: 31
Joined: 2003-04-04 13:28
Location: Ontario, Canada
Contact:

Post by Brian » 2003-04-09 06:09

Poor napster...i loved that program

GargoyleMT
DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Re: Quick question about how DC currently works

Post by GargoyleMT » 2003-04-09 06:55

Kent Wang wrote:n other words, the hub does not maintain a master copy of everybody's shares. If so, how scaleable is this?
Find a P2P program currently in use that does searches server side (I know OpenNap does this, because Napster did). I believe they all just forward search requests to individual clients. That's how gnutella did it, and it's a much bigger network (no numbers) than DC is.
Kent Wang wrote:If all DC users were connected to only one hub, would some clients be overwhelmed by the number of queries?
Yes and no. Check out some of fusbar's posts, this is typically an issue he brings up, searching takes up a bit of CPU for him. I think CPU is the issue, not bandwidth - even though he's on a 10mbit line. I don't think search results will swamp a normal DSL or even modem user... but I could be way wrong on that.
Kent Wang wrote:(not to mention the hub itself for having to send out a copy of the query to every single user).
Well, even for very long search strings, it's only a pretty small packet. Each client generates a maximum of 10 or 5 hits, and each will be longer than the search packet (since that's substrings, and you have to return the full file name and path, which is likely large). I think, assuming each client hits the search terms even once, that the hub comes out ahead if it doesn't have to do searching server side. Active clients get results back via UDP, but passive ones do force results to be returned via the hub.

cologic
Programmer
Posts: 337
Joined: 2003-01-06 13:32
Contact:

Post by cologic » 2003-04-09 10:01

Keeping records of peoples shares is exactly what killed napster
An alternative is to keep hashes of files rather than files themselves. There ave various subtleties of this I'll expand on if anyone cares, but I'd guess legally it would add negligable risk/vulnerability.
That's how gnutella did it, and it's a much bigger network (no numbers) than DC is.
I believe G2/Mike's Protocol/whatever your politics wants to call it concentrates file lists in the superpeers/supernodes.

Locked