Talk:Chord (peer-to-peer)

Link is broken
the link to chord project is broken http://pdos.csail.mit.edu/chord/faq.html — Preceding unsigned comment added by JDvalium (talk • contribs) 11:01, 18 July 2012 (UTC)

Assessment as Start-class
Though I'm not a member of the review team, I'm rating it as start class, because it is incomplete, and because it is written really badly. I decided this given the kind of errors I've corrected:, and given that the errors came from misunderstanding of the article.

From my edit summary: "Fix totally braindead proof, which resulted from "read text from article and resume by skipping some words of the text". For the other change ("Correct misleading example (the identifier circle normally isn't full of nodes, but has holes"), it was very confusing (I thought it come straight from the article, though it wasn't true).

Note that I've not fully reviewed the article, I just read some parts, and found errors; I expect other ones to exist. See for instance the complaint below. --Blaisorblade (talk) 15:14, 25 June 2008 (UTC)

Seconded. The pseudocode in this article is seriously incorrect, and does not match the original paper. It is wrong enough that it may bear adding a warning to.Jdoucett (talk) 00:50, 30 September 2014 (UTC)

Diagram
An example of a diagram (though copyrighted) can be found in this PDF file.
 * The article has various mentions of the diagram and since the diagram is missing this leads to confusion. Toufeeq 06:12, 24 December 2006 (UTC)

Added diagrams and removed the request. But this article is still atrocious. Tetrashima (talk) 21:38, 21 April 2010 (UTC)

Pseudocode for find_successor
I believe there is a mistake in the pseudocode, from my understanding there is a missing line above 'return successor.find_successor(id);'. The version of pseudocode used for find_successor is only useful when stepping node by node round the circle, but the proper version using the finger table (as it is suggested this is, with the closest_preceding_node code) requires a call to that function. Original: // ask node n to find the successor of id n.find_successor(id) if (id\in(n, successor)) return successor; else // forward the query around the circle return successor.find_successor(id); // search the local table for the highest predecessor of id n.closest_preceding_node(id) for i = m downto 1 if(finger[i]\in(n,id)) return finger[i]; return n;

Proposed: // ask node n to find the successor of id n.find_successor(id) if (id\in(n, successor)) return successor; else // forward the query around the circle n' = closest_preceding_node(id)

return n'.find_successor(id); // ADDED LINE // search the local table for the highest predecessor of id n.closest_preceding_node(id) for i = m downto 1 if(finger[i]\in(n,id)) return finger[i]; return n;

I apologise if it would have been more appropriate to simply edit the post but in the case of such a hidden error if my code were incorrect it could cause many more problems.


 * The above unsigned comment was not from a registered user, and was added in diff: http://en.wikipedia.org/w/index.php?title=Talk%3AChord_%28distributed_hash_table%29&diff=77358934&oldid=74658142 . I think it is likely to be relevant, but neither code matches the sample code in the article, which call closest_preceding_finger (here closest_preceding_node) in a loop. I think the latter may be equivalent to the article's code, but I'm too much in a hurry to be sure. Plus, including equivalent code could qualify as "original research" maybe - we should probably include the article's code and stop there.

--Blaisorblade (talk) 15:27, 25 June 2008 (UTC)
 * The above pseudocode matches more closely the one in the updated version of the article. Still, I'm in a hurry.
 * --Blaisorblade (talk) 15:52, 25 June 2008 (UTC)

The current Pseudocode bears an endless loop in find_successor. Assume a node X is asked for it's own ID, e.g. 15.find_successor(15). First test in find_successor fails, because 15 is not in (15, successor]. So closest_preceding_node(15) is called. The test "finger[i] in (15, 15)" will always fail, cause (15, 15) is empty. Ergo "return n" is called, 15 itself is the closest preceding node. After that find_successor is called on the closest preceding node, which means 15.find_successor(15). This is the same call we started with so this will loop infinitely. —Preceding unsigned comment added by 130.149.173.18 (talk) 09:56, 3 July 2008 (UTC)

Move
I suggest moving this page to "Chord (DHT)". The current title, "Chord project", doesn't capture what's important here, i.e., the design of the DHT itself. --Nethgirb 10:50, 2 March 2007 (UTC)


 * I've moved it now to Chord (distributed hash table), per WP:ACRONYM, since DHT is not a widely used abbreviation. GregorB (talk) 20:45, 29 January 2008 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified one external link on Chord (peer-to-peer). Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://archive.is/20121225180044/http://chordless.wiki.sourceforge.net/ to http://chordless.wiki.sourceforge.net/

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 17:39, 5 August 2017 (UTC)