Try NIST SP 800-38A instead, section B.2. Note that this document is the first one that is referenced by the Microsoft document:
A second approach to satisfying the uniqueness property across messages is to assign to each message a unique string of b/2 bits (rounding up, if b is odd), in other words, a message nonce, and to incorporate the message nonce into every counter block for the message. The leading b/2 bits (rounding up, if b is odd) of each counter block would be the message nonce, and the standard incrementing function would be applied to the remaining m bits to provide an index to the counter blocks for the message. Thus, if N is the message nonce for a given message, then the jth counter block is given by Tj = N | [j]m, for j = 1...n. The number of blocks, n, in any m message must satisfy n < 2 . A procedure should be established to ensure the uniqueness of the message nonces.
Note that you would need 2 ^ 64 blocks of data to get to the next "message nonce" or IV. This is just a sample method of generating a counter; unfortunately NIST does the bad habbit of not specifying any default ones. So it depends on the protocol as well, but above is most common.