device-to-cloud communication