Markup Language Parsing Using Repeated Structure Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing markup language parsing methods are inefficient due to the need for repeated checks of character validity and symbol table lookups, especially when dealing with complex and nested structures in XML files, which consume significant processing power and time.

Innovation Solution

The method recognizes repeated structures in markup language source files by initially processing a pattern once and storing this information in a data structure, allowing subsequent encounters to skip expensive checks by using a streamlined processing stage that references the stored data, reducing the need for repeated symbol table interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional parsing methods are used to process markup language source, then parsing can be performed, but processing efficiency is low due to repeated character validity checks and symbol table lookups

Engineering Contradiction:
Improveparsing efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary processing of markup language source to identify and store repeated structures in a cache before actual parsing occurs. This preliminary action creates a lookup table that contains pre-analyzed structural information, allowing the parser to skip expensive character validity checks and symbol table lookups when encountering repeated structures, thereby significantly improving parsing efficiency and reducing processing time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates cached copies of repeated structural patterns from the markup language source. Instead of re-analyzing the same structures during parsing, the system uses these pre-created copies stored in a cache, replacing the need for repeated expensive operations with simple cache lookups, thus resolving the contradiction between thorough parsing and processing efficiency

Inventive Principle:
Principle #26Copying

2Reliability

If thorough character validity checks and symbol table lookups are performed, then parsing accuracy is maintained, but computational load increases significantly

Engineering Contradiction:
Improveparsing accuracyVSAvoidcomputational load
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent introduces a cache as an intermediary layer between the markup language source and the parsing process. This cache stores pre-analyzed structural information and acts as a mediator that provides quick access to validity and structural information without requiring the parser to perform expensive character validity checks and symbol table lookups, thereby maintaining parsing accuracy while reducing computational load

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary analysis to populate the cache with structural information before actual parsing. This preliminary action ensures that when parsing occurs, the expensive validation operations have already been performed and their results cached, maintaining reliability while minimizing real-time computational requirements

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7673231B2Optimized markup language processing using repeated structures in markup language source
Publication Date: 2010.03.02 ORACLE AMERICAN INC
  • US7673231B2 patent drawing
  • US7673231B2 patent drawing
  • US7673231B2 patent drawing

AI summary

A computer-implemented method of parsing markup-language source data is described. The markup-language source data comprises a plurality of elements. A first portion of the elements is processed by interoperating with a symbol table to determine unique string objects associated with the elements of the first portion of the elements. A structure is recorded associated with the first portion of the elements collectively, including the determined unique string objects in association with the corresponding elements of the first portion. A second portion of the elements is processed, using the structure determined associated with the first portion of the elements, to determine the unique string objects associated with the elements of the second portion, without interoperating with the symbol table.