Content Staging System Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional disk-based data processing systems are inefficient for analytical business intelligence applications, as they are slow for joins and resource-intensive when handling data from multiple sources, and are designed for transactional rather than analytical processing.

Innovation Solution

A content staging system that auto-switches between memory and a file system based on content size and uses a source agnostic file definition format for efficient data transformation, encryption, and tracking, allowing for improved memory management and complex data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a disk-based approach is used for data processing, then data can be stored and accessed, but processing speed for joins and analytical queries becomes very slow

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system dynamically switches between memory-based and disk-based processing modes based on the size of the dataset. For small datasets that fit in memory, the system uses in-memory processing for fast analytical operations. For large datasets exceeding memory capacity, the system automatically spills data to disk and uses distributed processing, thereby optimizing processing speed while managing system complexity adaptively.

Inventive Principle:
Principle #15Dynamics

2Productivity

If data from multiple sources is loaded into disk-based tables, then data can be joined and analyzed, but the process becomes resource-intensive and slow

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidcomputational resources
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system applies different processing strategies to different portions of data based on their characteristics. Small datasets are processed locally in memory using optimized analytical queries, while large datasets are distributed across multiple nodes in a cluster. This local quality approach allows the system to use computationally efficient in-memory processing for what it can handle, and only invokes resource-intensive distributed processing when necessary, thereby improving productivity while minimizing resource consumption.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If disk-based processing is used, then data can be fetched and processed, but memory requirements for complex transformations and joins increase significantly

Engineering Contradiction:
Improvememory capacityVSAvoidprocessing capability
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system segments data processing into two distinct phases: a planning phase where the query execution plan is generated and data dependencies are analyzed, and an execution phase where data is processed in manageable chunks. During execution, the system segments large datasets into smaller partitions that can be processed in memory, spilling only necessary portions to disk. This segmentation allows the system to maintain high processing capability while minimizing peak memory requirements.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11874799B1Systems and methods for memory management in source agnostic content staging
Publication Date: 2024.01.16 FANNIE MAE
  • US11874799B1 patent drawing
  • US11874799B1 patent drawing
  • US11874799B1 patent drawing

AI summary

A content staging system includes a content engine structured to receive content including a plurality of dataset elements from a content source, determine whether a content amount of the received content exceeds a memory capacity threshold, and auto-switch between memory and a file system during content processing based on the content amount. The content staging system includes a processing engine communicably coupled to the content engine. The processing engine is structured to receive the content including a plurality of dataset elements, and transform the plurality of dataset elements based on a source agnostic file definition format. The source agnostic file definition format supports content encryption, track a field of the plurality of dataset elements, or a combination thereof.