2. Before a vcpu v on a node n writes to a page it must invalidate all copies of P elsewhere, including the NAM. Therefore, if the NAM has a secondary for p, p must be made invalid on the NAM, and send an acknowledgement that it has been made invalid before p can be updated, just as any other node that has a copy of p must do.
3. If a node n responds to a read request coming from a node m, m n, for a page p, where p is marked Primary or Exclusive, n marks p as secondary, and sends the page p to m, and also at (roughly) the same time, n also sends it to the NAM, which marks it as valid and secondary. Thus, in some embodiments, if a node marks a page as exclusive or primary, a copy of the page is sent to the network attached memory (and marked as secondary) so that the network attached memory has a valid copy of that page (i.e., if a node has a prime copy of the page (e.g., after writing to the page), the NAM will have a secondary copy that is valid after the write). After the page is received by m, m marks the page as Primary. As before, if the page transitions from Primary to Exclusive as would be the case for a remote write request, the Secondary copy on the NAM must be made invalid. If it is known ahead of time that the page will be marked Exclusive, the step of sending the page to the NAM can be skipped (as it would ultimately be invalidated anyway).