Markup Data Transformation Using Virtual DOM for Memory Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for transforming source data in one markup language to another face challenges with high memory requirements and computational complexity, especially when dealing with large datasets, as they often rely on representing entire data hierarchies in memory or sequential processing of tags.

Innovation Solution

Preprocessing transformation rules to identify and store referenced tags, replacing relative paths with absolute paths, and storing these in memory to reduce processing requirements and memory usage, allowing for efficient transformation of source data to target data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the entire source data hierarchy is represented in memory using a Document Object Model, then the transformation can be performed with easy access to data, but the RAM size requirement becomes proportionate to the size of the source data, preventing scaling to large datasets

Engineering Contradiction:
Improvedata access easeVSAvoidmemory requirement
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent segments the data processing approach by introducing a virtual DOM that represents only the necessary portions of the data hierarchy rather than the entire hierarchy. This allows the system to maintain easy access to data through the virtual DOM interface while reducing memory requirements by not loading the complete data structure into physical memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtual DOM acts as an intermediary between the source data and the transformation process. It provides a simplified, memory-efficient representation that mediates between the need for easy data access and the constraint of limited memory resources, allowing transformations to proceed without requiring the entire source hierarchy to be loaded into RAM.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If tags are processed sequentially using Simple API for XML (SAX), then memory requirements are reduced, but the overall computational complexity increases due to sequential processing

Engineering Contradiction:
Improvememory requirementVSAvoidcomputational complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a dynamic virtual DOM that can adaptively represent different portions of the data hierarchy based on the transformation rules being applied. This dynamic structure allows the system to process data more efficiently by only constructing the necessary virtual nodes required for the current transformation operation, reducing both memory usage and computational complexity compared to sequential SAX processing.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary analysis of the transformation rules to identify which portions of the data hierarchy need to be represented in the virtual DOM. This preliminary action allows the system to avoid unnecessary computational processing and memory allocation, reducing overall computational complexity while maintaining low memory requirements.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If transformation rules are applied to large datasets, then comprehensive data transformation is achieved, but processing time increases and timely responses become difficult to achieve

Engineering Contradiction:
Improvetransformation completenessVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The virtual DOM implementation applies local quality by creating a differentiated representation where only the necessary portions of the data hierarchy are constructed with full detail, while other portions are represented more lightly or lazily. This allows comprehensive transformation of the required data portions while maintaining fast processing speeds, as the system only processes what is actually needed for the transformation.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8286075B2Reducing resource requirements when transforming source data in a source markup language to target data in a target markup language using transformation rules
Publication Date: 2012.10.09 ORACLE INT CORP
  • US8286075B2 patent drawing
  • US8286075B2 patent drawing
  • US8286075B2 patent drawing

AI summary

Transforming source data in a source markup language to target data in a target markup language using transformation rules mapping source tags to corresponding target tags. In an embodiment, the transformation rules (e.g., in an XSL) are preprocessed to identify and store source tags (“referenced tags”), which need to be processed to apply the transformation rules of other source tags. The source tags in the source data (e.g., XML) are retrieved sequentially (e.g., by SAX parser) and the contents are stored in memory if the source tag is one of the identified referenced tags. The target tags are generated (e.g., as XML) using the contents stored in memory for another source tag matching a transformation rule immediately upon reading the source tag. Only a few of the contents of source tags and the identifiers of the referenced tags may need to be stored in memory. As a result, the memory requirements may be reduced.