IP Library Granted Patent US 11,036,491
Granted Patent B1
US 11,036,491 · App. 16/671,406 · Granted Jun 15, 2021

Identifying and resolving firmware component dependencies

Inventors: Stefano Righi (Lawrenceville, GA); Presanna Raman (Suwanee, GA)
Assignee: AMERICAN MEGATRENDS INTERNATIONAL, LLC
G06F8/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 11,036,491
App. No.
16/671,406
Granted
Jun 15, 2021
Kind
B1
Abstract

Technologies are disclosed herein for identifying and resolving firmware component dependencies within a firmware project. Dependency information is generated and stored for firmware components that can be used to create a firmware project. The dependency information may define one or more mandatory dependencies, optional dependencies, and/or incompatible dependencies. The dependency information for the firmware components in the firmware project is evaluated to identify any unsatisfied dependencies when a firmware project is opened, when a firmware component is added to a firmware project, when a firmware component in a firmware project is updated, or when the firmware project is built. If any unsatisfied dependencies are identified, the dependencies can be satisfied by adding a firmware component to the firmware project, updating a firmware component in the firmware project, or by removing a firmware component from the firmware project.

Claims (34)

1. A computer-implemented method, comprising:

accessing dependency information for multiple firmware components in a firmware project, the dependency information defining a group of dependencies for the multiple firmware components, wherein a first dependency of the group of dependencies is defined using at least a dependency expression, a label operator, and a source control path;

identifying, using the dependency information, an unsatisfied dependency in the firmware project;

receiving input information indicating to resolve the unsatisfied dependency; and

resolving the unsatisfied dependency by performing at least a first operation of a group of operations comprising updating a firmware component in the firmware project.

2. The method of claim 1 , further comprising storing the dependency information in one or more component information files (CIFs) associated with the firmware components.

3. The method of claim 1 , wherein the group of operations further comprises adding a first firmware component to the firmware project and removing a second firmware component from the firmware project.

4. The method of claim 1 , wherein the group of dependencies comprises an optional dependency that identifies a firmware component that, when present in the firmware project, must be of a specified version.

5. The method of claim 1 , wherein the group of dependencies comprises a mandatory dependency that identifies a version of a firmware component that must be present in the firmware project.

6. The method of claim 1 , wherein the group of dependencies comprises an incompatible dependency that identifies a firmware component that is incompatible with the firmware project.

7. The method of claim 1 , wherein the identifying comprises evaluating the dependency information in response to opening the firmware project by a firmware development application.

8. The method of claim 1 , wherein the identifying comprises evaluating the dependency information in response to adding a firmware component to the firmware project.

9. The method of claim 1 , wherein the identifying comprises evaluating the dependency information at a build time of the firmware project.

10. The method of claim 1 , wherein the identifying comprises evaluating the dependency information in response to updating a first firmware component of the multiple firmware components.

11. An apparatus, comprising:

at least one processor; and

a computer-readable storage medium having instructions stored thereupon that, in response to being executed by the at least one processor, cause the apparatus to

access dependency information for multiple firmware components in a firmware project, the dependency information defining a group of dependencies for the multiple firmware components, wherein a first dependency of the group of dependencies is defined using at least a dependency expression, a label operator, and a source control path;

identify, using the dependency information, an unsatisfied dependency in the firmware project;

receive input information indicating to resolve the unsatisfied dependency; and

resolve the unsatisfied dependency by performing at least a first operation of a group of operations comprising updating a firmware component in the firmware project.

12. The apparatus of claim 11 , wherein the group of dependencies comprises an optional dependency that identifies a firmware component that, when present in the firmware project, must be of a specified version.

13. The apparatus of claim 11 , wherein the group of dependencies comprises a mandatory dependency that identifies a version of a firmware component that must be present in the firmware project.

14. The apparatus of claim 11 , wherein the group of dependencies comprises an incompatible dependency that identifies a firmware component that is incompatible with the firmware project.

15. The apparatus of claim 11 , wherein identifying, using the dependency information, an unsatisfied dependency in the firmware project comprises evaluating the dependency information in response to a firmware component being added to the firmware project, the firmware project being opened by a firmware development application, or a first firmware component of the multiple firmware components being updated.

16. The apparatus of claim 11 , the group of operations further comprising adding a firmware component to the firmware project and removing a firmware component from the firmware project.

17. A non-transitory computer-readable storage medium having instructions stored thereupon which, in response to being executed by a processor, cause the processor to:

access dependency information for multiple firmware components in a firmware project, the dependency information defining a group of dependencies for the multiple firmware components, wherein a first dependency of the group of dependencies is defined using at least a dependency expression, a label operator, and a source control path;

identify, using the dependency information, an unsatisfied dependency in the firmware project;

receive input information indicating to resolve the unsatisfied dependency; and

resolve the unsatisfied dependency by performing at least a first operation of a group of operations comprising updating a firmware component in the firmware project.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the group of dependencies comprises an optional dependency that identifies a firmware component that, when present in the firmware project, must be of a specified version.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the group of dependencies comprises a mandatory dependency that identifies a version of a firmware component that must be present in the firmware project.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the group of dependencies comprises an incompatible dependency that identifies a firmware component that is incompatible with the firmware project.

Assignments (4)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0948 →
SECURITY INTEREST Recorded Apr 30, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 067274/0834 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2019
From: RIGHI, STEFANO; RAMAN, PRESANNA
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 050913/0092 →