Scalable DOM Implementation Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing DOM implementations face scalability issues due to high memory requirements and inefficiencies in managing XML data across different formats, leading to increased memory constraints and performance degradation when handling large numbers of XML documents.

Innovation Solution

A scalable DOM implementation that includes automatic and manual node release mechanisms, shadow copying, and a pluggable architecture with separate API and data layers, allowing for efficient memory management and format-agnostic data processing through abstract interfaces like InfosetReader and InfosetWriter.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional DOM implementation loads entire XML trees into memory, then complete DOM functionality is available, but memory consumption increases tenfold compared to XML document size

Engineering Contradiction:
ImproveDOM functionality completenessVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the DOM tree into individual nodes that can be loaded and unloaded independently from memory. Each node represents a discrete unit of XML data that can be managed separately, allowing the system to load only necessary portions of the XML tree into memory while maintaining complete DOM functionality through on-demand node creation and destruction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested structure where nodes contain references to their parent and child nodes, creating a hierarchical memory management system. This nested doll approach allows the system to maintain the complete DOM tree structure conceptually while only materializing nodes currently needed in memory, with nodes being created and destroyed as they are traversed or accessed.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Speed

If DOM nodes are kept in memory for persistent access, then fast retrieval is enabled, but memory constraints increase and scalability deteriorates

Engineering Contradiction:
Improvenode retrieval speedVSAvoidscalability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic memory management where nodes are created, retained, and destroyed based on real-time access patterns and system memory conditions. The system dynamically adjusts which nodes remain in memory versus being stored persistently, allowing optimal balance between retrieval speed and memory consumption that adapts to changing workloads and system resources.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the state parameter of nodes between materialized (in-memory) and dematerialized (persistent storage) states based on access frequency and memory availability. This parameter change allows the system to optimize performance for frequently accessed nodes while maintaining scalability by storing less frequently accessed nodes in persistent storage, enabling the system to handle larger XML documents as memory resources are available.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If data conversion is performed for format compatibility, then universal DOM interface is achieved, but processing time and memory overhead increase

Engineering Contradiction:
Improveformat compatibilityVSAvoiddata conversion time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent creates a virtual copy of the DOM tree structure that mirrors the persistent storage format without requiring physical data conversion. Nodes are materialized from their persistent representation when needed, maintaining the standard DOM tree structure in memory while the underlying data remains in its original format in persistent storage, thus achieving format compatibility without conversion overhead.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary layer (the virtual DOM tree structure) between the persistent storage format and the DOM API interface. This intermediary translates between different formats on-demand without requiring bulk data conversion, allowing the system to maintain universal DOM interface compatibility while minimizing processing time by only converting individual nodes when they are accessed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7844632B2Scalable DOM implementation
Publication Date: 2010.11.30 ORACLE INT CORP
  • US7844632B2 patent drawing
  • US7844632B2 patent drawing
  • US7844632B2 patent drawing

AI summary

Techniques for implementing a scalable DOM and a pluggable DOM are provided. A scalable DOM implementation manages a DOM tree in memory to free unreferenced nodes, avoid generating nodes unnecessarily, and avoid storing multiple versions of the same data on disk. A pluggable DOM implementation includes an abstract interface that is defined between the API layer and the data layer of a DOM implementation. An implementation of the abstract interface is defined for each data source that is plugged in to the pluggable DOM implementation and that stores XML data in a different format.