Stack-Based Serialization for IoT Edge Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In IoT systems, existing binary serialization formats are inefficient for edge devices with limited resources, as they require significant memory allocation and processing time, making it difficult to handle large amounts of data quickly.
Innovation Solution
An information processing apparatus that determines the memory area size during compilation using a struct-based approach, allowing for high-speed serialization and deserialization by directly using a stack area for serialization and eliminating memory allocation during deserialization, while being compatible with MessagePack formats.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If conventional binary serialization formats are used, then data can be serialized and deserialized, but the process requires significant memory allocation and processing time, reducing speed
Solution Approach 1:
The patent applies preliminary action by determining the message structure and calculating the required stack area size during compilation time, before the actual serialization process executes. This pre-computation eliminates the need for runtime memory allocation, as the stack area is reserved in advance with the exact size needed. The creation processing unit generates information about the message structure that includes the calculated stack area requirement, which is then used during serialization to directly allocate memory without dynamic allocation overhead.
2Quantity of substance
If conventional binary serialization formats are used, then data can be serialized and deserialized, but significant memory capacity is required, increasing device resource constraints
Solution Approach 1:
The patent applies parameter changes by fundamentally altering the memory allocation parameter from dynamic heap allocation to static stack allocation. The message structure information generated during compilation includes the precise stack area size needed, allowing the system to reserve memory on the stack with a fixed, predetermined size. This changes the memory usage pattern from variable and potentially large allocations to fixed and minimized allocations, reducing the overall memory capacity requirements for edge devices.
3Ease of operation
If text-based serialization formats are used, then data readability is improved, but data size increases and processing delay occurs due to escape processes
Solution Approach 1:
The patent applies the copying principle by creating a simplified internal representation of data during serialization. Instead of directly converting complex data structures to text with all their formatting requirements, the system copies the essential data into a standardized message structure format that is then serialized. This intermediate copying step separates the complexity of data structure representation from the serialization process, enabling faster processing while maintaining the ability to reconstruct the original data accurately during deserialization.
Data Source
AI summary
An information processing apparatus according to an embodiment includes: a creation processing unit which creates information indicating a message structure based on which a length of a memory area to be secured in a stack area of a virtual address space assigned for a serialization process is determined during compilation; a serialization processing unit which performs a serialization process to serialize data from a device and write the serialized data into a data storage device using the information created by the creation processing unit; and a deserialization processing unit which reads the serialized data written into the data storage device and deserializes the read data using the information created by the creation processing unit.


