For example, FIG. 7A illustrates an exemplary system that uses a cron-based silent push notification to trigger collection of sensor data in accordance with the disclosed embodiments. As illustrated in FIG. 7A, this system includes cron notification server 700, which sends notifications at constant, predefined intervals (for example every 5 minutes) to a push server 701, which forwards the notification to a mobile client 103. Note that push server 701 can be owned and operated by a service provider, such as Apple if the mobile client is an iOS? device, or Google if the mobile client is an Android? device. Note that push server 701 acts as a proxy to send out silent push notifications to mobile devices, wearable devices or other Internet-connected devices, such as IoT devices.
During operation, cron notification server 700 accesses device database 702, which includes tables for keeping track of each user and what devices are registered to each user, wherein every device is referenced by a device ID. The identifier that the push server 701 needs to send push notifications to is also stored in the device database 702.
Mobile client 703 also includes functionality for enabling or disabling data-collecting components, which can get triggered remotely or locally. In this case, it is triggered by the silent push notification. Mobile client 703 can be running on a portable device, such as a mobile phone, or any other smart device, including stationary sensors or cameras.