Anyone who has looked at the SqlDataProvider project in the SDK has probably asked themselves, "What were they smoking when they designed this?" I don't know if Rob Howard is the creator of this technology, but he is one of the major influences that created ASP.NET and most of what it consists of. The idea of software abstraction layers is very similar to the ASP.NET module system and has been around at least as long, but nothing has ever been published by Microsoft about it until now. In fact, you can implement software abstraction layers in your web.config by using the module system or the provider system.
The Software Abstraction Layer article by Danut Prisacaru goes into exactly how it works and why you should be using it. The implementation in the CS SDK is actually built around the Provider Model, as CS does not support N-Tier separations out of the box. However, you can see the overlap and were the initial design came from if you read the article and download the prototype from CodePlex. Anyone who needs to write an application that needs to run on 1-N Tiers should be using software abstraction layers.