Directory Based Cache Coherence
Avoid broadcast request to all nodes on a miss
Maintain directory of which nodes have cached copies of the block (directory controller + directory state)
On a miss, send message to directory
Directory determines what (if any) protocol action is required
Directory waits for protocol actions to finish and then responds to the original request