Software defined service function chaining with failure consideration for fog computing