I haven't looked very closely at the code, but conceptually it sounds like a cache. Which brings up all the standard question with resspect to caching: how is it kept up to date, how and when is it invalidated, etc. -Artem.