Distroless Microservice Runtime for Resource-Constrained Embedded Targets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Developing software applications for resource-constrained embedded targets is challenging due to the need for custom libraries, duplicative updates, and limited storage, which can disrupt runtime and require burdensome testing environments, while existing Linux distribution-managed base images are bloated and tied to the Linux distribution lifecycle.
Innovation Solution
A flexible development pipeline using virtualization and containerization decouples base layer development and testing, employs distroless base layers for runtime images, and updates common libraries independently across applications, ensuring seamless in-service upgrades within resource constraints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If Linux distribution-managed base images are used, then applications can run with standard libraries and tools, but the base image size increases and storage is wasted on duplicative components
Solution Approach 1:
The patent extracts only the essential runtime components (libc, libm, libpthread, ld-linux) from the complete Linux distribution base image, creating a minimal distroless image that retains application compatibility while removing duplicative packages, package managers, and unnecessary binaries, thus reducing base image size
2Reliability
If custom libraries are added to support a particular application, then the application can function properly, but other applications are affected even if they do not utilize the custom library
Solution Approach 1:
The patent segments the base image into a minimal distroless core and allows each application to have its own isolated library dependencies injected at the application level, preventing custom libraries from affecting other applications while maintaining proper functionality for each application
Solution Approach 2:
The patent enables each application to have its own local library environment with custom libraries injected only where needed, rather than system-wide installation, allowing application-specific functionality without impacting other applications
3Productivity
If updates are pushed to each application individually, then each application can be updated independently, but updates become duplicative and consume more storage space
Solution Approach 1:
The patent merges common updateable components into the shared distroless base layer, so that updates to common libraries and runtime components are pushed once at the base layer level and automatically applied to all applications, eliminating duplicative updates while maintaining update independence through the containerized architecture
4Manufacturing precision
If development testing environment is set up to match embedded target, then application compatibility is ensured, but the development process becomes burdensome
Solution Approach 1:
The patent creates a universal distroless base layer that functions across multiple embedded target configurations and processor architectures, allowing developers to build applications once against the distroless base image and deploy to various embedded targets without recreating the testing environment for each target
5Productivity
If in-service updates are applied to the embedded target, then applications can be updated, but each application is affected and service may be disrupted
Solution Approach 1:
The patent segments applications into isolated container instances that share the distroless base layer but maintain independent runtime environments, allowing in-service updates to be applied to individual applications or the base layer without affecting other applications, thus maintaining service continuity during updates
Data Source
AI summary
Disclosed herein are network elements for use in a transport network. The network elements may comprise an embedded device and a computing device comprising a processor and a memory storing a container runtime that when executed causes the processor to initialize a runtime base layer, initialize a plurality of containers, and provide, to each of the containers, access to at least one common resource. The runtime base layer may comprise an operating system and one or more common resource. The embedded device may have one or more property affecting a function of the embedded device and one or more status. The operating system may lack a software distribution. The common resources may be based on a common requirement of at least two of the applications. Each of the containers may comprise a particular one of the applications and one or more unique resource based on a unique requirement of the particular one of the applications.


