Modular Container Image Assembly for Retail Terminals
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for assembling executable image files for software containers on self-service and point of sale terminals are inefficient, leading to suboptimal resource usage and complexity in managing various hardware and software permutations, particularly in resource-constrained retail environments.
Innovation Solution
A method for dynamically assembling an executable image file from a plurality of predefined modular image files, each containing specific executable instructions, using a proxy that communicates with a container engine and registry to create a container image manifest, allowing for on-the-fly assembly according to terminal requirements, thereby avoiding the need for unique image files for each terminal configuration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a unique executable image file is built for each terminal configuration (hardware and software permutations), then the terminal can execute software specifically optimized for its configuration, but the complexity of managing and deploying multiple image files increases significantly
Solution Approach 1:
The executable image file is divided into multiple layers, where the base layer contains common software components and additional layers contain configuration-specific components. This segmentation allows a single base image to serve multiple terminal configurations by selectively adding appropriate layers, thereby reducing the number of unique image files needed while maintaining configuration-specific optimization.
Solution Approach 2:
The base executable image file is designed to be universal and can be applied to multiple terminal configurations. By making the base image multi-functional and adding configuration-specific layers only when needed, the system reduces image file management complexity while maintaining adaptability to various terminal hardware and software permutations.
2Adaptability or versatility
If pre-built container image files are created for all possible terminal configurations, then any terminal can execute the appropriate software, but the resource usage (storage and processing) increases significantly
Solution Approach 1:
By segmenting the image file into a shared base layer and configuration-specific additional layers, the system avoids duplicating common software components across multiple configurations. This reduces the total quantity of image data that needs to be stored and processed while maintaining coverage for all terminal configurations.
Solution Approach 2:
The base layer is merged and shared across multiple terminal configurations, eliminating redundant storage of common software components. Only the necessary additional layers specific to each configuration are stored separately, significantly reducing overall storage requirements while maintaining adaptability to all configurations.
3Quantity of substance
If executable image files are built on-demand for each terminal, then resource usage is optimized, but the time required to assemble and deploy the image increases
Solution Approach 1:
The base executable image file is prepared in advance with common software components, eliminating the need to build this portion on-demand. When a terminal needs an image, the pre-built base layer is immediately available, and only the specific additional layers need to be assembled, significantly reducing the on-demand assembly time while maintaining optimized resource usage.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Methods, computing devices and computer programs are disclosed. A method comprises assembling an executable image file, for execution as a software container element, from a plurality of predefined modular image files, each predefined modular image file comprising at least one layer defining executable instructions.