This optimization seems like changing from iterative way to recursive way to reduce communication as these two styles in DNS routing.
What do you mean by recursive way? As far as I know, DNS query results are returned to the server that made the query, not the host that initiated the entire search chain.
@Cake My point is that, In the first version, the home node only tells the request processor when to get the answer, and the request process will refer to another processor according to the home node's answer. This is a bit like the iterative DNS query. And In this optimization, the requester only needs to ask the home node, and the home node will help to find the answer, which is bit like the recursive DNS query. They are quite similar, but not the same. When I hear this in class, the first thing come to my mind is DNS routing. So I write this out.
@Abandon: Yes! The same thing came to my mind too! :-)
How does P0 know that the information that it is receiving is accurate since they are know receiving responses from a different person?