Towards an efficient distributed cloud architecture