I have 3 internet providers in the same environment, but distributed in different points/hosts. Sometimes a link is off while the others are okay. My idea is to centralize all connections in a server to guarantee that all hosts are online since at least one internet provider is working properly.

But I have a few questions.

1. Is is possible to share all internet connections and serve them as they were a unique provider? So, when one is off the others could take care of the signal?
2. In case the first question results in negative answer, what do I need to do in order to start developing a server that handles 3 simultaneous internet connections?

I have done network sharing before using Debian as a server, but never did failover system before. Thus, any point, tip, tutorial, online material, etc, is welcome. 

Thanks in advance.