SBOM-Based Shared Component Allocation for Edge Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Edge devices in computing systems face resource constraints, leading to inefficiencies in managing multiple complex task queues and posing risks in automotive and medical domains, particularly due to overlapping component dependencies among applications, which can cause functional safety infractions.
Innovation Solution
Generate a software bill of materials (SBOM) for each application, identify common components across applications, determine the optimal location for these components to execute, and update the SBOMs to point to this location, enabling efficient resource allocation and reducing redundant instances.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple applications are deployed on edge devices with limited resources, then the functionality and service coverage are improved, but the resource consumption and system complexity increase
Solution Approach 1:
The patent merges common components from multiple applications into a shared library. The system analyzes SBOMs of multiple applications, identifies overlapping dependencies, and consolidates them into a single shared instance that multiple applications can reference, thereby reducing overall system complexity while maintaining service coverage.
Solution Approach 2:
The patent creates universal shared libraries that serve multiple applications simultaneously. A single shared component library provides functionality to multiple applications, making the system more efficient by eliminating redundant instances and reducing the overall computational footprint on edge devices.
2Adaptability or versatility
If multiple instances of common components are maintained across applications, then application independence is improved, but resource waste and footprint increase
Solution Approach 1:
The patent combines multiple instances of common components into a single shared instance. By analyzing SBOMs and identifying duplicate dependencies across applications, the system consolidates these into one shared library that multiple applications can access, eliminating resource waste while preserving application functionality.
Solution Approach 2:
The patent uses symbolic links or references instead of physical copies. Applications reference the shared component library through symbolic links or path references, allowing them to access common components without duplicating the actual binary files, thereby reducing storage waste while maintaining application independence.
3Productivity
If overlapping component dependencies are not managed, then application development speed is improved, but functional safety infractions occur
Solution Approach 1:
The patent performs preliminary analysis of component dependencies before deployment. By analyzing SBOMs in advance and identifying overlapping dependencies, the system proactively manages potential functional safety issues before they manifest in production, ensuring both rapid development and safety compliance.
Solution Approach 2:
The patent implements feedback mechanisms that track component usage across applications. The system monitors which components are shared, their versions, and their usage patterns, providing feedback that helps maintain functional safety while enabling rapid application development through informed decision-making.
Data Source
AI summary
Techniques for using the software bill of materials (SBOM) for each of a plurality of applications in a system to intelligently allocate resources of the system, are disclosed. The SBOM for each of a plurality of applications may be generated. The plurality of SBOMs is analyzed to identify common components among the plurality of applications, wherein a common component is a component that is common to two or more of the plurality of applications. For each common component, the location where the common component may optimally execute is identified and an SBOM that corresponds to the common component is updated to indicate the location where the common component may optimally execute.


