Fault Tolerance Mechanism for Software Application Through Fog Computing as Middleware