Patent ID: 7146609

Claim:
A data processing system for updating existing firmware installed on a plurality of different types of hardware devices in accordance with device specific constraints, the system comprising: a device-independent firmware update application operating in the data processing system that receives, for a particular hardware device, a firmware update package containing a firmware image of new firmware program code and installation metadata including a header with dynamic constraints that relate to the data processing system and a version number, wherein the version number is read by the firmware update application to identify a version of the header and a name of a device dependent plug-in module; a mechanism that uses the metadata to select and run the named device-dependent plug-in module that is specific to the particular hardware device, whereupon the named device-dependent plug-in module uses the metadata to examine the data processing system to determine whether device-specific constraints for installing the new firmware program code are met and wherein the named device dependent plug-in module is invoked by the firmware update application to interpret the dynamic constraints and to determine whether the dynamic constraints are satisfied before installing the firmware image on the particular hardware device; and an installation mechanism that cooperates with the device-dependent plug-in module and installs the firmware image on the hardware device when the device-specific constraints are met.