Edge-cloud Computing Systems for Smart Grid: State-of-the-art, Architecture, and Applications