A proactive fault tolerance approach for cloud computing based on Takagi-Sugeno fuzzy system and Simulated Annealing algorithm