What if you have peer failures?
After the example above, if N32 fail, but N80 finger table has not been updated, so that the query to the N16, it can not find N32, only N80, so that query will be lost.
The workaround is to save R successor instead of just one successor,r is a value that the system can configure.
So how big is R? So if there are a lot of errors, query can still arrive correctly.
R=2log (N). W.h.p. = with high probability
What to do if file fail is saved in node
If there is a missing file inside the N45, then if there is a search for this file, then the file cannot be found because only one of it is missing.
The solution to this problem is to back up a file, in front of which a node and the next node are back up the same file, so that if a query reaches a node in front of it or a subsequent node, it will return the results of the query.
Multiple backup of a file not only solves the problem of fault tolerance, but also solves the problem of load balancing, such as you have a very popular file (probably the most popular songs recently), so many copies of multiple backups, it will not let a node load too high, balance the load of the point.
Need to deal with dynamic changes
Peers fail or join is very common and has very high churn, so you need to update successors and finger table, copy keys.
Peer System:how Chord tackles failures