Microsoft's Clustering Services can kind of do what your asking. The only trick is that it requires a multi port storage device. If one server fails in the network, another one picks up the load, but if the storage fails, your dead in the water. There is another product I have seen but have not used called Marathon Endurance 4000. It sets up a virtual server between many individual servers. When one fails the other server(s) just simple take up the load. I've never seen the system run so I can't vouch for it's true capabaility.