1. A mobile device comprising: a location identification engine for identifying a location of the device; an interface for receiving addresses from a set of other devices associated with the device through a network; a data storage for storing past locations of the device and addresses received from the set of other devices; a prediction engine for predicting future destinations of the device based on the stored past locations of the device and addresses received from the set of other devices; and a set of processing units for executing the location identification engine and the prediction engine.