IP Library Granted Patent US 12,293,182
Granted Patent B2
US 12,293,182 · App. 18/522,526 · Granted May 6, 2025

Firmware component with self-descriptive dependency information

Inventors: Vincent Zimmer (Federal Way, WA); Jiewen Yao (Shanghai, CN)
Assignee: Intel Corporation
G06F8/71G06F8/65
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,293,182
App. No.
18/522,526
Granted
May 6, 2025
Kind
B2
Abstract

An embodiment of a semiconductor package apparatus may include technology to determine version information for a new firmware component, read dependency information corresponding to the firmware component, and determine if dependency is satisfied between the new firmware component and one or more other firmware components based on the version information and the dependency information of the new firmware component. Other embodiments are disclosed and claimed.

Claims (42)

1. At least one non-transitory computer readable storage medium comprising a set of instructions which, when executed, cause a computing apparatus to:

access a firmware capsule, the firmware capsule comprising both an updated version of a first firmware component and at the same time self-descriptive dependency information associated with the first firmware component, wherein the self-descriptive dependency information includes an identity of one or more other firmware components on which the first firmware component is dependent together with a constraint on a version number of a range of compatible versions for each of the one or more other firmware components;

determine whether a version dependency between a second firmware component of the one or more other firmware components and the first firmware component is satisfied based on the self-descriptive dependency information of the first firmware component; and

update the first firmware component with the updated version if the version dependency is satisfied.

2. The at least one non-transitory computer readable storage medium of claim 1 , wherein to determine whether the version dependency between the second firmware component and the first firmware component is satisfied, the instructions, when executed, cause the computing apparatus to determine whether a version number for an installed version of the second firmware component satisfies the constraint on the version number of the second firmware component.

3. The at least one non-transitory computer readable storage medium of claim 2 , wherein the constraint on the version number of the second firmware component comprises a range of compatible version numbers.

4. The at least one non-transitory computer readable storage medium of claim 3 , wherein to determine whether a version number for an installed version of the second firmware component satisfies the constraint on the version number of the second firmware component comprises to determine whether the version number for the installed version of the second firmware component is within the range of compatible version numbers.

5. The at least one non-transitory computer readable storage medium of claim 1 , wherein the instructions, when executed, further cause the computing apparatus to:

determine from the self-descriptive dependency information a second version dependency corresponding to a third firmware component, wherein the second version dependency includes a constraint on a version number of the third firmware component; and

determine whether the second version dependency corresponding to the third firmware component is satisfied.

6. A computing system, comprising:

a processor; and

a memory coupled to the processor, the memory including a set of instructions which, when executed by the processor, cause the computing system to:

access a firmware capsule, the firmware capsule comprising both an updated version of a first firmware component and at the same time self-descriptive dependency information associated with the first firmware component, wherein the self-descriptive dependency information includes an identity of one or more other firmware components on which the first firmware component is dependent together with a constraint on a version number of a range of compatible versions for each of the one or more other firmware components;

determine whether a version dependency between a second firmware component of the one or more other firmware components and the first firmware component is satisfied based on the self-descriptive dependency information of the first firmware component; and

update the first firmware component with the updated version if the version dependency is satisfied.

7. The computing system of claim 6 , wherein to determine whether the version dependency between the second firmware component and the first firmware component is satisfied, the instructions, when executed, cause the computing system to determine whether a version number for an installed version of the second firmware component satisfies the constraint on the version number of the second firmware component.

8. The computing system of claim 7 , wherein the constraint on the version number of the second firmware component comprises a range of compatible version numbers.

9. The computing system of claim 8 , wherein to determine whether a version number for an installed version of the second firmware component satisfies the constraint on the version number of the second firmware component comprises to determine whether the version number for the installed version of the second firmware component is within the range of compatible version numbers.

10. The computing system of claim 6 , wherein the instructions, when executed, further cause the computing system to:

determine from the self-descriptive dependency information a second version dependency corresponding to a third firmware component, wherein the second version dependency includes a constraint on a version number of the third firmware component; and

determine whether the second version dependency corresponding to the third firmware component is satisfied.

11. A method comprising:

accessing a firmware capsule, the firmware capsule comprising both an updated version of a first firmware component and at the same time self-descriptive dependency information associated with the first firmware component, wherein the self-descriptive dependency information includes an identity of one or more other firmware components on which the first firmware component is dependent together with a constraint on a version number of a range of compatible versions for each of the one or more other firmware components;

determining whether a version dependency between a second firmware component of the one or more other firmware components and the first firmware component is satisfied based on the self-descriptive dependency information of the first firmware component; and

updating the first firmware component with the updated version if the version dependency is satisfied.

12. The method of claim 11 , wherein determining whether the version dependency between the second firmware component and the first firmware component is satisfied comprises determining whether a version number for an installed version of the second firmware component satisfies the constraint on the version number of the second firmware component.

13. The method of claim 12 , wherein the constraint on the version number of the second firmware component comprises a range of compatible version numbers.

14. The method of claim 13 , wherein determining whether a version number for an installed version of the second firmware component satisfies the constraint on the version number of the second firmware component comprises determining whether the version number for the installed version of the second firmware component is within the range of compatible version numbers.

15. The method of claim 11 , further comprising:

determining from the self-descriptive dependency information a second version dependency corresponding to a third firmware component, wherein the second version dependency includes a constraint on a version number of the third firmware component; and

determining whether the second version dependency corresponding to the third firmware component is satisfied.

16. An apparatus comprising:

means for accessing a firmware capsule, the firmware capsule comprising both an updated version of a first firmware component and at the same time self-descriptive dependency information associated with the first firmware component, wherein the self-descriptive dependency information includes an identity of one or more other firmware components on which the first firmware component is dependent together with a constraint on a version number of a range of compatible versions for each of the one or more other firmware components;

means for determining whether a version dependency between a second firmware component of the one or more other firmware components and the first firmware component is satisfied based on the self-descriptive dependency information of the first firmware component; and

means for updating the first firmware component with the updated version if the version dependency is satisfied.

17. The apparatus of claim 16 , wherein determining whether the version dependency between the second firmware component and the first firmware component is satisfied comprises determining whether a version number for an installed version of the second firmware component satisfies the constraint on the version number of the second firmware component.

18. The apparatus of claim 17 , wherein the constraint on the version number of the second firmware component comprises a range of compatible version numbers.

19. The apparatus of claim 18 , wherein determining whether a version number for an installed version of the second firmware component satisfies the constraint on the version number of the second firmware component comprises determining whether the version number for the installed version of the second firmware component is within the range of compatible version numbers.

20. The apparatus of claim 16 , further comprising:

means for determining from the self-descriptive dependency information a second version dependency corresponding to a third firmware component, wherein the second version dependency includes a constraint on a version number of the third firmware component; and

means for determining whether the second version dependency corresponding to the third firmware component is satisfied.

Continuity (3)
Continuation 17412806 · Aug 26, 2021
Continuation 16649911
Related Publication 20240168754A1 · May 23, 2024
References Cited (20)
US 10481893B1 · Righi · 2019 [cited by examiner]
US 10990373B2 · Olderdissen · 2021 [cited by examiner]
US 11422788B2 · Samuel · 2022 [cited by examiner]
US 11875147B2 · Zimmer · 2024 [cited by examiner]
US 20080028395A1 · Motta et al. · 2008 [cited by applicant]
US 20110055799A1 · Kaulgud et al. · 2011 [cited by applicant]
US 20130111457A1 · Culter · 2013 [cited by applicant]
US 20130227542A1 · Pei · 2013 [cited by examiner]
US 20140380340A1 · Knichel et al. · 2014 [cited by applicant]
US 20150067667A1 · Chan · 2015 [cited by applicant]
US 20160202964A1 · Butcher · 2016 [cited by examiner]
US 20190220271A1 · Olderdissen et al. · 2019 [cited by applicant]
US 20200310788A1 · Zimmer et al. · 2020 [cited by applicant]
US 20230023833A1 · Samuel · 2023 [cited by examiner]
CN 104881311A · 2015 [cited by applicant]
CN 106325921A · 2017 [cited by applicant]
CN 106471468A · 2017 [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/CN2017/103642, mailed Jun. 15, 2018, 9 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 16/649,911, mailed Oct. 5, 2021, 17 pages. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 16/649,911, mailed May 13, 2021, 12 pages. [cited by applicant]
Cited By (1)
US 12,717,570