No. of IP addresses: 2^128 . Log base 2 is 128

Addresses supplied in a second is 10^6/(10^-12) = 10^18 log base 2 of this is 18 * log[BASE 2] 10. = 12 * 3.3219 (approx) = 59.7942

128 - 59.7942 = 68.2058

Now log [BASE 2] (no. of seconds in a year of 365.25 days) = 24.9115

Therefore, 68.2058 - 24.9115 = 43.2943

So, No. of years is 2^(43.2943)

If approx answer is needed then 2^43 is 8796093022208 and 2^0.2943 is 1.2263

Multiply to get approx 1.07866*10^11 years

Sorry lots of approximation used. Large value calculators can give you exact answer.