1. A system for handling data requests from mobile devices, the system comprising: a memory operable to store data requests received from the mobile devices; a state prediction module operable to receive a data request from each of the mobile devices and in response access the memory and predict a forecasted data request based on the received data request and the stored data requests; and a push module operable to receive the received data request and the forecasted data request from the state prediction module and in response request and receive response data related to the received data request and the forecasted data request and prepare the response data for transmission to the mobile device over a wireless network; the prediction module configured to: predict, in an atomic mode, the forecasted data request based on historical information of a particular group of homogeneous users; predict, in a group mode, the forecasted data request based on a population of the mobile devices that is larger than said particular group; and operate first in the atomic mode, and then determine whether to switch to the group mode based on strength of the atomic-mode-based prediction.