Binary XML Update Mechanism for Memory Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing XML data storage systems are inefficient in updating binary encoded XML documents, particularly when the schema is unconstrained or unknown, leading to scalability and performance issues due to the need to load entire documents into memory and convert them back into binary form.

Innovation Solution

A method for updating XML data stored in a database involves computing a 'change tuple' that represents the requested modifications directly to the compact binary form, allowing for direct application without constructing an object tree or materializing the document, using parameters like destination offset, changed length, new value, and new value length to account for the compact binary encoding's structural properties.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the entire XML document is loaded into memory as an object tree for updating, then the update operation can be performed, but memory overhead increases and scalability deteriorates

Engineering Contradiction:
Improveupdate operationVSAvoidmemory overhead
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary portion of the XML document (the subtree containing the node to be updated) from the entire document. Instead of loading the complete document into memory, the system identifies and loads only the relevant subtree that contains the target node, significantly reducing memory overhead while enabling update operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the XML document into a hierarchical structure of subtrees, where each subtree represents a portion of the document that can be independently loaded and manipulated. This segmentation allows the system to load only the necessary subtree containing the node to be updated, rather than the entire document, thus improving scalability and reducing memory consumption.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If the entire XML document is materialized in local memory, then update operations can be performed, but performance deteriorates due to I/O overhead

Engineering Contradiction:
Improveupdate operationVSAvoidperformance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts and loads only the necessary subtree containing the node to be updated from persistent storage, rather than materializing the entire XML document in local memory. This extraction approach minimizes I/O overhead and improves performance by reducing the amount of data that needs to be read from and written to storage.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If optimized techniques are used for updating XML data with a specific schema, then update efficiency improves, but adaptability to unconstrained schemas deteriorates

Engineering Contradiction:
Improveupdate efficiencyVSAvoidschema flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal update mechanism that works with both constrained and unconstrained XML schemas. The system uses schema information when available to optimize update operations, but can also perform updates on unconstrained schemas by using the binary format's inherent structure. This multi-functional approach maintains adaptability while achieving efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent changes the parameter of schema constraint from fixed to variable, allowing the system to adapt to different schema types. When schema information is available, the system uses it to optimize updates; when no schema is available or the schema is unconstrained, the system uses the binary format's structural properties to perform updates efficiently, thus maintaining both efficiency and adaptability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9460064B2Efficient piece-wise updates of binary encoded XML data
Publication Date: 2016.10.04 ORACLE INT CORP
  • US9460064B2 patent drawing
  • US9460064B2 patent drawing
  • US9460064B2 patent drawing

AI summary

An XML document can be represented in a compact binary form that maintains all of the features of XML data in a useable form. In response to a request for a modification (e.g., insert, delete or update a node) to an XML document that is stored in the compact binary form, a certain representation of the requested modification is computed for application directly to the binary form of the document. Thus, the requested modification is applied directly to the persistently stored binary form without constructing an object tree or materializing the XML document into a corresponding textual form. Taking into account the nature of the binary form in which the document is encoded, the bytes that actually require change are identified, including identifying where in the binary representation the corresponding actual changes need to be made.