Software Version Normalization for Accurate IoT Asset Sorting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems struggle to efficiently manage and sort diverse software versions across IoT devices due to non-linear and heterogeneous versioning nomenclatures, which complicates vulnerability assessment and patch management.

Innovation Solution

A system and method for sorting software versions on computing devices using an attack surface management tool that includes a software version sorting engine with components for command, detection, preprocessing, mapping, entity tagging, standardizing, and execution, enabling precise sorting based on numerical and non-numerical criteria.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If heterogeneous versioning nomenclatures are used across different software instances, then adaptability to various software systems is improved, but sorting and comparison accuracy deteriorates

Engineering Contradiction:
Improveadaptability to various software versioning schemesVSAvoidversion comparison accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The system transforms heterogeneous version strings into a standardized numerical representation by parsing version components (major, minor, patch, etc.) and converting them into a comparable numerical format. This parameter transformation enables accurate sorting and comparison across different versioning schemes while maintaining adaptability to various software systems.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary version parsing and normalization layer that sits between the diverse versioning schemes and the sorting mechanism. This intermediary component translates various version nomenclatures into a unified representation, enabling accurate comparison without requiring changes to the original heterogeneous version strings.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If complex version sorting logic is implemented, then version management precision is improved, but system complexity increases

Engineering Contradiction:
Improveversion sorting precisionVSAvoidsorting engine complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The version sorting system is segmented into distinct functional components: version string parsing, component extraction, numerical conversion, and sorting. This segmentation allows each component to handle a specific aspect of version management independently, reducing overall system complexity while maintaining high precision through the coordinated operation of simplified modules.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If manual version assessment is used, then operational simplicity is maintained, but productivity and security assessment speed deteriorate

Engineering Contradiction:
Improveoperational simplicityVSAvoidvulnerability assessment speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system performs self-service by automatically parsing, normalizing, and sorting version strings without requiring manual intervention. The version management system autonomously compares versions, identifies outdated software instances, and prioritizes patches, dramatically improving productivity while maintaining ease of operation through automated decision-making.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250390294A1Sorting Versions Of Software Instances On Computing Devices In A Network
Publication Date: 2025.12.25 ORDR INC
  • US20250390294A1 patent drawing
  • US20250390294A1 patent drawing
  • US20250390294A1 patent drawing

AI summary

Techniques for filter and sort versions of software instances executing on computing devices in a network are disclosed. The system receives an instruction to execute an operation on software instances that satisfy numerical criterion and non-numerical criterion. A standardizing function is applied to the numerical criterion to determine a standardized numerical criterion. The system accesses version number values corresponding to software instances on the computing devices in the network. By applying the standardizing function to numerical version numbers of the version number values, the system determines standardized numerical version numbers for the version number values. The system filters the standardized numerical version numbers based on the standardized numerical criterion. The system identifies software instances with (a) associated standardized numerical version numbers that meet the standardized numerical criterion and (b) non-numerical components that meet the non-numerical criterion. The system executes the operation on the software instances that meet the criteria.