An apparatus comprising: a first module for communicating with a network; a second module for communicating with at least one data collecting device for collecting data; one or more processors in communication with the first and second modules; and, memory in communication with the one or more processors, the memory including a cache and further comprising code (722,724,726) that, when executed, causes the one or more processors to control the apparatus to: determine a power budget for power provided by a power source of the apparatus over a time period; determine, based at least on the power budget, a set of synchronizations to be performed using the first module and a duty cycle for the second module, wherein each synchronization of the set is determined from one or more synchronizations for synchronizing collected data between the cache and the network; control the first module to communicate with the network to perform the synchronizations of the set during the time period; and, control the second module to communicate with the at least one data collecting device to collect data for the cache according to the duty cycle during the time period; wherein the one or more synchronizations are each associated with a synchronization time and the code further causes the one or more processors to control the apparatus to determine one or more weights, each of the one or more weights associated with a synchronization time of the one or more synchronizations, and determine the set of synchronizations and duty cycle based at least on the power budget and the one or more weights. a first module for communicating with a network; a second module for communicating with at least one data collecting device for collecting data; one or more processors in communication with the first and second modules; and, memory in communication with the one or more processors, the memory including a cache and further comprising code (722,724,726) that, when executed, causes the one or more processors to control the apparatus to: determine a power budget for power provided by a power source of the apparatus over a time period; determine, based at least on the power budget, a set of synchronizations to be performed using the first module and a duty cycle for the second module, wherein each synchronization of the set is determined from one or more synchronizations for synchronizing collected data between the cache and the network; control the first module to communicate with the network to perform the synchronizations of the set during the time period; and, control the second module to communicate with the at least one data collecting device to collect data for the cache according to the duty cycle during the time period; wherein the one or more synchronizations are each associated with a synchronization time and the code further causes the one or more processors to control the apparatus to determine one or more weights, each of the one or more weights associated with a synchronization time of the one or more synchronizations, and determine the set of synchronizations and duty cycle based at least on the power budget and the one or more weights. determine a power budget for power provided by a power source of the apparatus over a time period; determine, based at least on the power budget, a set of synchronizations to be performed using the first module and a duty cycle for the second module, wherein each synchronization of the set is determined from one or more synchronizations for synchronizing collected data between the cache and the network; control the first module to communicate with the network to perform the synchronizations of the set during the time period; and, control the second module to communicate with the at least one data collecting device to collect data for the cache according to the duty cycle during the time period; wherein the one or more synchronizations are each associated with a synchronization time and the code further causes the one or more processors to control the apparatus to determine one or more weights, each of the one or more weights associated with a synchronization time of the one or more synchronizations, and determine the set of synchronizations and duty cycle based at least on the power budget and the one or more weights.