Edge Device Memory Management via Application Logic Swapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Edge devices face memory shortages due to limited resources, leading to inefficient memory management, where updating or replacing applications can cause network traffic increases and user inconvenience, especially in Over-the-Air environments, and existing methods like terminating background applications can result in unwanted termination of foreground applications.
Innovation Solution
A method that swaps the application logic of a foreground application with a new application on the same framework, storing the original application logic in a suspended pool, allowing efficient retrieval and reducing memory usage by sharing a single application framework.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If applications are bundled into one application with a shared application framework to reduce memory usage, then memory usage is reduced, but the entire application must be replaced if one workload needs updating, adding defects, or requiring feature extensions
Solution Approach 1:
The patent segments the application into multiple independent workload modules that can be individually updated, added, or removed. Each workload is a separate executable unit within the bundled application, allowing partial updates without replacing the entire application. This resolves the contradiction by maintaining the memory efficiency of bundling while enabling granular updates of individual workloads.
2Reliability
If the entire application is replaced to update one workload, then the workload can be updated, but application services are stopped during update and network traffic increases
Solution Approach 1:
The patent performs preliminary actions by pre-loading and validating update packages for individual workloads before deploying them. The update mechanism prepares replacement workload modules in advance, validates their compatibility, and stages them for deployment. This allows seamless updates without stopping application services, as the new workload is ready to swap in immediately when the current workload becomes hidden.
3Quantity of substance
If background applications are terminated to free memory space, then memory space is freed, but applications that should not be terminated may be terminated
Solution Approach 1:
The patent introduces an intermediary application manager that mediates between the memory management system and individual applications. This manager monitors memory usage and application states, intelligently determining which applications can be suspended or swapped out based on their current status (shown/hidden), user preferences, and resource requirements. This prevents unwanted termination of foreground applications while still freeing memory when needed.
4Quantity of substance
If a shown application is terminated before executing a new application, then memory can be freed, but the screen display flickers
Solution Approach 1:
The patent implements dynamic application state management where applications transition smoothly between shown and hidden states through controlled suspension and resumption. When memory pressure occurs, the system dynamically suspends hidden applications and swaps their logic, while maintaining the shown application's execution context. This dynamic approach prevents display flicker by ensuring shown applications remain active and their display state is preserved throughout the memory management process.
Data Source
AI summary
Provided are techniques for reducing a total amount of memory usage of an edge device by swapping application logics. A first application is executed in a foreground on an application framework, where the first application has a shown status. In response to receiving a request to execute a swap application, it is determined that the first application and the swap application use a same screen type and a same non-shareable resource. An application logic of the first application is stored in a suspended application logic pool, where the first application changes from the shown status to a hidden-suspended status. The swap application is executed in the foreground on the application framework, where the swap application has the shown status.


