XML Node Mutation Map for Random Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current XML document processing systems face inefficiencies in random updates and serialization due to the need for materializing entire documents, leading to high memory and time consumption, with existing solutions like DOM and SAX/StAX lacking optimal performance for random updates and serialization.

Innovation Solution

Assigning unique IDs to nodes, using a 'mutation map' to track changes, and employing a 'lazy materialization' technique to update and serialize XML documents efficiently, avoiding unnecessary object creation and allowing for random updates and serialization without loading the entire document into memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If DOM is used to update XML documents, then random update capability is provided, but memory consumption and processing time increase significantly due to materialization of the complete document into objects

Engineering Contradiction:
Improverandom update capabilityVSAvoidmemory consumption
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent segments the XML document into a hierarchical structure of nodes (document node, element nodes, attribute nodes, text nodes) that can be independently accessed and updated. Each node is represented as a lightweight object containing only essential information (tag name, attributes, child node references) rather than materializing the entire document, enabling random updates with reduced memory consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by materializing only the specific portions of the document that need to be accessed or updated, rather than the entire document. The system allows selective materialization of nodes based on access patterns, so that frequently accessed or modified sections are in memory while other sections remain in their compact representation.

Inventive Principle:
Principle #3Local quality

2Reliability

If DOM is used to serialize XML documents, then complete document serialization is achieved, but processing time increases due to materialization of the entire document

Engineering Contradiction:
Improveserialization completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by serializing only the portions of the document that have been modified or need to be output, rather than forcing serialization of the entire materialized document. The system tracks which nodes have changed and serializes only those sections, significantly reducing processing time while maintaining serialization completeness for the required data.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent performs preliminary actions by pre-compiling the document into a hierarchical node structure that facilitates efficient serialization. The node hierarchy is built once during parsing, and subsequent serialization operations can efficiently traverse and output only the necessary portions without re-parsing or re-materializing the entire document.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If SAX or StAX is used for fast serialization, then processing speed improves, but random update capability is lost

Engineering Contradiction:
Improveserialization speedVSAvoidrandom update capability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent introduces dynamics by creating a flexible node-based representation that supports both random updates and efficient serialization. The hierarchical node structure allows dynamic access to any node in the document hierarchy, enabling random updates while maintaining the ability to efficiently serialize by traversing only the necessary nodes based on change tracking.

Inventive Principle:
Principle #15Dynamics

4Productivity

If EMF is used to update XML documents, then performance improves over DOM, but memory consumption increases due to loading the entire document into memory

Engineering Contradiction:
Improveupdate performanceVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the document into a hierarchical node structure that can be selectively loaded into memory. Instead of loading the entire document as EMF does, the system loads only the necessary nodes based on access patterns and update requirements. Each node contains minimal information needed for processing, reducing overall memory consumption while maintaining update performance.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8627202B2Update and serialization of XML documents
Publication Date: 2014.01.07 SERVICENOW INC
  • US8627202B2 patent drawing
  • US8627202B2 patent drawing
  • US8627202B2 patent drawing

AI summary

A method, system, and computer program product for updating and serialization of a document, includes: assigning a unique ID to each node created in the document; materializing a root element start tag of the document; materializing a start tag for a child element of the root element; determining whether a change to the child element is required; in response to determining that the change to the child element is not required, skipping content of the child element; in response to determining that the change to the child element is required, updating the child element to form an updated element; pushing updated information for the child element into a mutation map; and serializing the document using the mutation map.