Look at Microsoft project code named "Velocity"

"Velocity" provides a highly scalable in-memory cache for any kind of data. By using cache, application performance can improve significantly by avoiding unnecessary calls to the data source. Distributed cache enables your application to match increasing demand with increasing throughput. "Velocity" distributed cache is provided in the form of a cache cluster that manages the complexities of load balancing automatically. Currently "velocity" is in CTP2 phase.
Next Recommended Reading Get an early look at Visual Studio 2008