Towards efficient M2M communications for Internet of Things