La soluzione del timeout suggerita da andbin perché non ti piace? Mi sembra proprio quello che ti serve..
Incapsula l'indirizzo IP in una classe che lo associa al timestamp di ultimo aggiornamento. Ogni volta che ti arriva un indirizzo IP e questo esiste già allora aggiorni il suo timestamp. Ovviamente se un indirizzo non ti arriva più il suo timestamp non verrà più aggiornato e quindi puoi stabilire che, per esempio, se un indirizzo è più vecchio di X secondi allora lo rimuovi.