Mobile computing devices such as mobile telephones and tablet computers have continued to proliferate in recent years. These mobile devices may be equipped with processors, memory, and the capability to communicate through local and wide area networks, including the Internet. Current mobile devices are also capable of executing a wide range of computer programs and software applications. A user of a mobile device may have a personal computer, another mobile device, or multiple other mobile devices that each includes programs and applications. In many cases, the programs and applications on a mobile device should be updated or synchronized regularly by accessing a network or the internet to send or obtain application updates, messaging updates, or other application data updates for synchronization.
A user of multiple mobile devices may desire to update or synchronize application data on the user's devices in various device use scenarios. For example, a user of multiple mobile devices may have different service capabilities for the user's different devices. In particular situations, one of the user's devices may be able to access the internet through a cellular network or a particular Wi-Fi hotspot while the user's other devices may not have that access capability. For example, this could happen in a roaming scenario. Also, the user's multiple devices may each be intermittently switched between sleep mode and wake mode, or between on and off states, as the user switches use from one device to another device and moves about or roams while carrying one or more of the devices with them. In any of these situations, a user may desire to update or synchronize application data on the user's devices while also minimizing data usage and cost. The user may also desire to update or synchronize an application while minimizing battery power consumption on the user's mobile devices.