Universal Remote Memory Optimization via Command Code Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Universal remote control devices face inefficiencies in memory usage during configuration and firmware upgrades, leading to suboptimal performance and increased memory burden, especially in home theater environments where multiple appliances need to be controlled.
Innovation Solution
The system optimizes memory usage by discarding unused command code sets in the universal controlling device, allowing for the storage of additional functionality and firmware updates, and enables bidirectional communication with appliances like set top boxes to distribute and update command code sets, thereby freeing memory space for advanced features and upgrades.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a complete library of command code sets is pre-stored in the universal controlling device, then the device can control various functional operations of various types of appliances, but the memory space is excessively occupied and prevents firmware updates
Solution Approach 1:
The command code library is divided into multiple segments or groups corresponding to different appliance types. The system selectively loads only the relevant command code segments needed for the currently controlled appliance, rather than having all segments permanently resident in memory. This segmentation allows the complete library functionality to be available while keeping actual memory occupation minimal.
Solution Approach 2:
The command code library is made dynamic through selective loading and unloading of command code sets based on the currently controlled appliance. The system can load required command codes into active memory when needed and unload them when not needed, allowing the memory contents to dynamically adapt to current operational requirements rather than being static and permanently occupied.
2Adaptability or versatility
If firmware updates are downloaded and stored in the universal controlling device, then the device can be upgraded with new functionality, but the existing memory is insufficient to accommodate both the complete command code library and firmware updates simultaneously
Solution Approach 1:
The system performs preliminary identification of which command code sets are currently needed before initiating a firmware update. By determining the currently relevant appliance type and its associated command codes in advance, the system can proactively unload unnecessary command code sets from memory, creating the required space for firmware updates before they are actually downloaded and installed.
Solution Approach 2:
The system temporarily discards or unloads command code sets that are not currently needed for the controlled appliance, creating memory space for firmware updates. After the firmware update is successfully completed and installed, the system can recover or reload the previously discarded command code sets as needed, ensuring both update capability and continuous operational functionality.
3Quantity of substance
If the universal controlling device stores only essential command codes to reduce memory usage, then memory space is freed for other features, but the device loses the ability to control extended functional operations of appliances
Solution Approach 1:
The system achieves universality by maintaining access to the complete command code library through selective loading capabilities. Although not all command codes are permanently stored in memory, the device can load any required command code set for any appliance type when needed, providing multi-functional control capability without requiring all functions to be simultaneously present in memory.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method for optimizing memory usage in a device having a universal controlling application includes receiving into the device data for use in configuring the universal controlling application wherein the data is used to identify from within a library of command code sets stored in a memory of the device a command code set that is appropriate for use in commanding functional operations of the appliance and causing a non-identified one or more of the command code sets of the library of command code sets stored in the memory of the device to be discarded to thereby create freed space in the memory of the device.