A software upgrade server capable of upgrading a wireless mobile station
via a wireless network. The software upgrade server comprises: 1) a
database for storing a plurality of software upgrade files as a plurality
of object files and a plurality of image files suitable for use in the
wireless mobile station; and 2) an upgrade controller associated with the
database for communicating with the mobile station via the wireless
network. The upgrade controller receives from the mobile station a select
message selecting one of the software upgrade files and a target address
associated with an original image file in a memory of the mobile station.
The upgrade controller links selected object files to form a dynamically
linked library (DLL) file based on the target address. The upgrade
controller retrieves from the database a copy of the original image file
and generates a delta file corresponding to differences between the
original image file and the DLL file and transmits the delta file to the
wireless mobile station.