A good article on the provider pattern:
Provider Model Design Pattern and Specification, Part 1 on MSDN