XML Schema In-Memory Model for Reducing Memory Duplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional schema processors and compilers face memory management overhead and high processing times when handling large and complex industry XML schemas due to inefficient memory usage and duplication of schema elements, which leads to excessive swapping and potential memory stalls.
Innovation Solution
The approach involves building an in-memory model of an XML schema by storing repeating schema elements separately from parent elements, pre-loading dependent schema elements into persistent storage, and tracking unresolved elements to reduce volatile memory usage and optimize processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional schema processors store the entire XML schema in volatile memory to avoid disk access overhead, then processing speed is improved, but memory usage becomes excessive for large and complex schemas
Solution Approach 1:
The patent segments the XML schema into multiple parts stored in different memory regions. Frequently accessed schema elements are kept in volatile memory, while less frequently accessed elements are stored in persistent storage. This segmentation allows the system to maintain fast access for critical operations while avoiding the need to load the entire schema into memory.
Solution Approach 2:
The patent extracts only the necessary schema elements into volatile memory based on access patterns and processing requirements. By taking out only the essential portions of the schema that are needed for current processing operations, the system reduces memory consumption while maintaining processing speed for those critical elements.
2Ease of operation
If traditional schema processors store schema elements with their parent elements to allow easy access, then access efficiency is improved, but memory duplication increases significantly
Solution Approach 1:
The patent merges multiple parent element references to the same schema element into a single shared representation in memory. Instead of storing duplicate copies of schema elements under each parent, the system creates one instance and uses pointers or references from multiple parents to that single instance, thereby eliminating memory duplication while preserving access efficiency.
Solution Approach 2:
The patent implements a universal schema element structure that can be referenced by multiple parent elements simultaneously. This multi-functional design allows a single schema element to serve multiple purposes and be accessed from different hierarchical locations without requiring separate copies, thus reducing memory usage while maintaining ease of access.
3Reliability
If traditional schema processors allocate and track many memory blocks for complex schemas, then complete schema representation is achieved, but memory management overhead becomes significant
Solution Approach 1:
The patent introduces an intermediary memory management layer that abstracts the complexity of tracking numerous memory blocks. This intermediary layer manages memory allocation and tracking automatically, reducing the overhead burden on the main processing system while ensuring complete and accurate schema representation.
Solution Approach 2:
The patent implements a memory management strategy that discards temporarily allocated memory blocks after their purpose is fulfilled and recovers them for reuse. This approach reduces the total number of active memory blocks that need to be tracked, thereby lowering memory management overhead while maintaining complete schema representation when needed.
Data Source
AI summary
Techniques are described herein for efficient and scalable processing of complex sets of XML schemas. The techniques described herein provide for reducing duplication of schema elements in volatile memory by building an XML schema in-memory model that stores repeating schema elements in in-memory data structures that are separate from in-memory data structures that store the parent schema elements which logically include or otherwise refer to the repeating schema elements. The techniques described herein also provide for faster generation of an in-memory model of an XML schema by pre-loading, in data structures on persistent storage, of schema elements from dependent XML schemas that are referenced and/or incorporated by the XML schema. The techniques described herein also provide for efficient processing of inter-dependent XML schemas by tracking all unresolved schema elements from dependent XML schemas and freeing the portions of volatile memory, which are used to process schema elements from the dependent XML schemas, as soon as the dependent schema elements being processed are stored in data structures on persistent storage.


