Stack-Based Serialization for IoT Edge Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveserialization and deserialization speedVSAvoidmemory allocation time
Core Design Contradiction:
SpeedVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvememory capacityVSAvoiddevice resource constraints
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvedata readabilityVSAvoidserialization and deserialization throughput
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11934697B2Information processing apparatus, method, and program
Publication Date: 2024.03.19 NIPPON TELEGRAPH & TELEPHONE CORP
  • US11934697B2 patent drawing
  • US11934697B2 patent drawing
  • US11934697B2 patent drawing

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.