Span-Limited Lexical Analysis for Network Config Change Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional lexical analysis methods fail to efficiently identify and isolate significant changes in large configuration files, such as network device configurations, by only producing partial or incremental outputs, lacking a mechanism to restrict output to statements impacted by specific changes.

Innovation Solution

A method that utilizes spans, defined by a starting point and length in bytes, to limit the output of a lexer to only statements that include these spans, allowing for the identification of changes in configuration files by creating patch files and extracting relevant statements from them.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional lexical analysis is performed on large configuration files, then complete tokenization is achieved, but output volume is excessive and difficult to analyze

Engineering Contradiction:
Improvechange detection accuracyVSAvoidoutput volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies segmentation by dividing the configuration file into spans based on patch information, then performing lexical analysis only on these segmented portions rather than the entire file. This restricts the lexer output to only statements that include the spans, reducing output volume while maintaining precision in detecting changes.

Inventive Principle:
Principle #1Segmentation

2Reliability

If lexical analysis is performed on entire configuration files, then all statements are captured, but time to process and analyze increases

Engineering Contradiction:
Improvechange detection completenessVSAvoidanalysis time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the relevant spans from patch information that contain actual changes, then uses these extracted spans to limit the lexical analysis scope. This extraction approach ensures completeness of change detection while significantly reducing the time required compared to analyzing entire configuration files.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If patch files are created to identify structural differences, then change locations are identified, but additional processing steps are required

Engineering Contradiction:
Improvechange location accuracyVSAvoidprocess complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by generating patch information that identifies structural differences and spans before performing lexical analysis. This preliminary step prepares the change location data in advance, allowing the subsequent lexer operation to efficiently focus only on relevant statements without adding significant complexity to the overall process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10585664B2Span limited lexical analysis
Publication Date: 2020.03.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10585664B2 patent drawing
  • US10585664B2 patent drawing
  • US10585664B2 patent drawing

AI summary

A method and system for comparing at least two structured data files. A computer polls at least one network device for data files. The computer determines a structural difference between a first data file and a second data file and creates at least one patch file based on the structural difference. The computer extracts at least one span from the at least one patch file, wherein the at least one span is defined by a starting point byte and a length measured in bytes and creates an ordered listing. The computer performs a lexer operation using the at least one span as a limiting criterion to limit an output of the lexer to statements that include the at least one span. The computer outputs the statements indicating changes in a configuration between said first and second data files.