A system and method for providing software updates to a plurality of
mobile devices includes a central update server and update software
resident on each mobile device. The update server includes a database of
software program identifiers and identifiers for corresponding updates, a
subset of which may not be compatible with each mobile device. The mobile
device initiates the update process by preparing a request in accordance
with configuration information and security/privacy settings, and
communicating the request to the update server to retrieve corresponding
update information. Due to security/privacy settings, the request may be
insufficient for the update server to identify relevant software updates.
The mobile device selects at least one of the software updates, and
communicates with the update server to download the selected updates. The
retrieved update information may also include a referral to another
update server, and the mobile device will repeat the update process with
the referral server.