Binary ASN.1 Tree for SNMP Agent Memory Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing SNMP computing systems face inefficiencies due to the large memory consumption caused by the use of linked lists for parsing SNMP messages, which results in increased code size and memory usage, particularly when managing and responding to SNMP requests.

Innovation Solution

The implementation of a binary ASN.1 tree data structure instead of linked lists for parsing SNMP messages, utilizing a recursive algorithm to encode SNMP response messages, which reduces code segment size and conserves memory by using a binary tree with TLV nodes that include type, length, and value fields, and pointers to child or sibling nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If linked lists are used for parsing SNMP messages, then the implementation is straightforward and easy to understand, but the code size and memory consumption increase significantly

Engineering Contradiction:
Improveease of implementationVSAvoidmemory consumption
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent changes the fundamental data structure parameter from linked lists to binary trees, specifically using ASN.1 binary tree structures to represent SNMP message hierarchies. This parameter change transforms the memory organization from linear node-pointers to a hierarchical tree structure with explicit type-length-value encoding, reducing overall memory footprint while maintaining parsing capability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent segments the SNMP message parsing into distinct hierarchical levels represented by tree nodes, where each node contains segmented type-length-value components. This segmentation allows efficient memory utilization by only allocating space for actual message components rather than continuous linked list structures, directly reducing memory consumption.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If binary ASN.1 tree data structure is used instead of linked lists, then code size and memory usage are reduced, but execution time may increase

Engineering Contradiction:
Improvememory consumptionVSAvoidexecution time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-defining the binary tree structure and node formats according to ASN.1 specifications before actual SNMP message processing. This pre-structuring enables faster lookup and navigation during message parsing, as the hierarchical paths are predetermined, offsetting the initial overhead of tree construction and improving overall execution efficiency.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If larger code segments are used to implement SNMP agent functions, then more comprehensive functionality is achieved, but the embedded system's limited memory is consumed

Engineering Contradiction:
ImprovefunctionalityVSAvoidmemory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The binary tree data structure serves multiple functions simultaneously: it parses SNMP messages, represents the message hierarchy, enables efficient searching and navigation, and facilitates response generation. This multi-functionality consolidates what would otherwise require separate code segments into a single versatile structure, maintaining comprehensive functionality while reducing overall memory usage.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11271792B2Using a recursive parser tree to implement a smaller code segment for an embedded simple network management protocol agent
Publication Date: 2022.03.08 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11271792B2 patent drawing
  • US11271792B2 patent drawing
  • US11271792B2 patent drawing

AI summary

Systems and methods are provided for use in a Simple Network Management Protocol (“SNMP”) computing environment, by which efficiency of computing systems employing SNMP may be improved. An SNMP message is parsed, and the parsed information used to construct a binary tree. By using a binary tree, which is a data object that consumes less memory resources, efficiency of interactions between elements of the SNMP computing environment are improved. A method can include receiving a SNMP request for data. Then, the SNMP request is parsed and a binary tree constructed from the parsed SNMP request. The binary tree includes a plurality of type-length-value nodes. The length value of each non-leaf node is the summation of the length values of all the child nodes below the non-leaf node; and the length value of each leaf node is the length of the data requested.