Metadata Engine Customization via Segmented XML Layers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing metadata-driven software applications face challenges in customization, including the need for frequent reimplementation of customizations with metadata upgrades, inability to implement conditional customizations, and increased complexity and costs due to direct modifications or predefined customizations.

Innovation Solution

A self-contained metadata engine generates customized metadata documents from base metadata and customizations, with a customization syntax, creation/update component, restriction mechanism, and memory/caching optimizations to support arbitrary customizations and efficient storage/lookup.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If direct modifications to base metadata are made for customization, then customization flexibility is improved, but maintenance complexity and reimplementation effort increase with upgrades

Engineering Contradiction:
Improvecustomization flexibilityVSAvoidmaintenance complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments customization from base metadata by introducing a separate customization layer. Customizations are stored as independent XML files that reference base metadata documents, allowing modifications without affecting the core metadata structure. This segmentation enables independent maintenance of base metadata and customizations, resolving the contradiction between flexibility and maintenance complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts customization logic from the base metadata document and stores it separately in external XML files. The customization engine reads base metadata and applies customizations dynamically, separating the immutable base metadata from the modifiable customization layer. This extraction allows upgrades to base metadata without requiring reimplementation of customizations.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If multiple customizations are applied to a base metadata document, then customization capability is improved, but processing time and memory usage increase

Engineering Contradiction:
Improvecustomization capabilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements a caching mechanism that pre-processes and stores customized metadata documents after applying multiple customizations. When the same customization combination is requested again, the pre-processed result is retrieved from cache rather than re-applying all customizations, significantly reducing processing time for repeated requests.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges multiple customization documents into a single customized metadata document through the customization engine. The engine processes multiple XML customization files and integrates their modifications into one unified output, streamlining the application process and reducing the overhead of handling multiple separate customization files during runtime.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of repair

If customizations are stored separately from base metadata, then upgrade maintenance is improved, but storage structure complexity increases

Engineering Contradiction:
Improveupgrade maintenanceVSAvoidstorage structure complexity
Core Design Contradiction:
Ease of repairVSDevice complexity

Solution Approach 1:

The patent introduces a customization engine as an intermediary component that manages the relationship between base metadata and customization files. This engine handles the complexity of storing and retrieving customizations separately by providing a standardized interface for applying customizations to base metadata, thereby simplifying the overall system architecture despite the separated storage structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If a metadata engine processes customizations at runtime, then customization flexibility is improved, but memory consumption increases

Engineering Contradiction:
Improvecustomization flexibilityVSAvoidmemory consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements a layered cache structure where frequently accessed customized metadata documents are stored in memory for quick retrieval, while less frequently accessed documents remain on disk. The cache adapts its memory allocation based on access patterns, storing only the necessary portion of customization data in memory rather than loading entire metadata documents, thereby reducing overall memory consumption while maintaining runtime flexibility.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8560938B2Multi-layer XML customization
Publication Date: 2013.10.15 ORACLE INT CORP
  • US8560938B2 patent drawing
  • US8560938B2 patent drawing
  • US8560938B2 patent drawing

AI summary

Embodiments of the present invention provide techniques for customizing aspects of a metadata-driven software application. In particular, embodiments of the present invention provide (1) a self-contained metadata engine for generating customized metadata documents from base metadata documents and customizations; (2) a customization syntax for defining customizations; (3) a customization creation/update component for creating and updating customizations; (4) a customization restriction mechanism for restricting the creation of new customizations by specific users or groups of users; and (5) memory and caching optimizations for optimizing the storage and lookup of customized metadata documents.