Firmware update discovery and distribution
First Claim
1. A computing device comprising:
- one or more hardware resources having updateable firmware, the hardware resources assigned globally unique identifiers used to reference and distinguish between the hardware resources;
memory storing a resource data structure configured to identify hardware resources by use of identifiers that include fields to identify a system firmware type and a device firmware type for each hardware resource for which updates to associated firmware are designated for handling through a firmware update system of the computing device;
system firmware configured to instantiate the resource data structure and populate the resource data structure with entries for selected hardware resources for which updates to associated firmware are designated for handling through the firmware update system;
an interface between the system firmware and an operating system of the computing device operable to expose the resource data structure to the firmware update system through the operating system; and
the firmware update system configured to reference the resource data structure to enumerate the selected hardware resources and configure firmware update handling for the selected hardware resources, the firmware update system further configured to acquire firmware update packages that are applicable to the selected hardware resources of the computing platform by checking for firmware update packages that match the globally unique identifiers assigned to the selected hardware resources.
2 Assignments
0 Petitions
Accused Products
Abstract
A firmware update system is described that collectively handles firmware updates for hardware resources of a computing device. The firmware update system may be configured to handle firmware updates in a consistent manner across different computing platforms/architectures. A data structure is defined to associate each updateable resource with a corresponding identifier to enumerate the updateable resources to the firmware update system. The firmware update system may reference the data structure to produce representations of the each individual resource that provide an operating system level abstraction through which detection, analysis, acquisition, deployment, installation, and tracking of firmware updates is managed. Using the representations, the firmware update system operates to discover available firmware updates collectively for the enumerated resources, match the updates to appropriate resources, and initiate installation of the updates.
-
Citations
20 Claims
-
1. A computing device comprising:
-
one or more hardware resources having updateable firmware, the hardware resources assigned globally unique identifiers used to reference and distinguish between the hardware resources; memory storing a resource data structure configured to identify hardware resources by use of identifiers that include fields to identify a system firmware type and a device firmware type for each hardware resource for which updates to associated firmware are designated for handling through a firmware update system of the computing device; system firmware configured to instantiate the resource data structure and populate the resource data structure with entries for selected hardware resources for which updates to associated firmware are designated for handling through the firmware update system; an interface between the system firmware and an operating system of the computing device operable to expose the resource data structure to the firmware update system through the operating system; and the firmware update system configured to reference the resource data structure to enumerate the selected hardware resources and configure firmware update handling for the selected hardware resources, the firmware update system further configured to acquire firmware update packages that are applicable to the selected hardware resources of the computing platform by checking for firmware update packages that match the globally unique identifiers assigned to the selected hardware resources. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method implemented by a computing platform comprising:
-
enumerating hardware resources of the computing platform for which updates to associated firmware are designated for handling through a firmware update system of the computing platform by accessing a table instantiated by system firmware of the computing platform, the table configured to supply identifiers that include fields to identify a system firmware type and a device firmware type for each hardware resource, the identifiers being globally unique identifiers assigned to reference and distinguish between the hardware resources selected to employ the firmware update system for firmware updates; produce representations of the enumerated hardware resources as plug and play devices managed through device management functionality built-in to an operating system of the computing platform, the representations incorporating the identifiers; acquiring through the device management functionality firmware update packages that are applicable to the enumerated hardware resources of the computing platform, the firmware update packages matched to corresponding hardware resources based on the globally unique identifiers incorporated with the representations of the enumerated hardware resources; communicating the firmware update packages that are acquired for execution by system firmware of the platform to install the firmware updates, the firmware update packages targeted to corresponding hardware resources using the identifiers; and selectively managing installation of the firmware update packages based upon feedback regarding the installation that is supplied by the system firmware to facilitate control of the installation. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computing platform comprising:
-
multiple hardware resources having updateable firmware, the hardware resources assigned globally unique identifiers used to reference and distinguish between the hardware resources; system firmware for core hardware resources of the computing platform configured to instantiate a resource data structure configured to indicate hardware resources of the multiple hardware resources for which updates to associated firmware are designated for handling through a firmware update system of the computing platform; and the firmware update system configured to collectively handle updates to updateable firmware for the hardware resources indicated by the resource data structure, including; accessing the resource data structure to enumerate the indicated hardware resources for which updates to associated firmware are designated for handling through the firmware update system; producing representations of the enumerated hardware resources as content items managed through content management functionality built-in to an operating system of the computing platform, the representations enabling the content management functionality to handle firmware updates along with updates to other types of content; determining through the content management functionality firmware update packages that are applicable to the hardware resources by comparing identifiers assigned to the hardware resources via the resource data structure to identifiers contained in firmware update packages available from one or more distribution channels to find matches, the identifiers assigned to the hardware resources including fields to identify a system firmware type and a device firmware type for each hardware resource; acquiring through the content management functionality firmware update packages determined to be applicable to the hardware resources of the computing platform by checking for the firmware update packages that match the globally unique identifiers assigned to the hardware resources; extracting payloads from the firmware update packages that contain firmware images to implement the firmware updates for the hardware resources; and staging the payloads for installation by the system firmware by copying the payloads to a designated storage location. - View Dependent Claims (19, 20)
-
Specification