Pointer-Based Buffer Memory Management for ETL Data Transformation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data warehousing and database management, the existing extract-transform-load (ETL) processes involve unnecessary data copying between memory locations, leading to inefficiencies and potential data inconsistencies.

Innovation Solution

A unique memory management scheme where data extracted from an external source is placed in a memory buffer and manipulated by components without being copied to any other location, using pointers to access and transform the data within the buffer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is copied to separate memory locations for transformation, then data can be manipulated by multiple components, but copying efficiency decreases and data inconsistencies may occur

Engineering Contradiction:
Improvedata transformation efficiencyVSAvoidmemory copying overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies the inverse of the traditional copying principle by using pointers to reference the same data location without copying. Multiple components access and transform the same buffered data through pointers, eliminating redundant copies while maintaining data access flexibility across the transformation pipeline.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements a nested structure where multiple transformation components are contained within a single buffer memory location. Components are logically nested around the same data buffer, allowing sequential transformations without physical data copying between memory locations.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Productivity

If data is copied between memory locations during transformation, then data can be processed by different components, but processing speed decreases due to redundant copying

Engineering Contradiction:
Improvedata processing speedVSAvoidtime for data copying
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent eliminates data copying by using pointer references. Instead of copying data between memory locations during transformation, components receive pointer references to the same buffer, allowing immediate access without time-consuming copy operations.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs the preliminary action of loading data into a buffer once at the extraction stage. Subsequent transformation components then access this pre-loaded buffer through pointers, avoiding repeated copying operations during the transformation pipeline.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If data is copied to separate memory locations, then transformation can be performed, but data consistency becomes difficult to maintain

Engineering Contradiction:
Improvedata transformation capabilityVSAvoiddata consistency
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent uses pointer references instead of data copying to maintain consistency. All components reference the same original data buffer, ensuring that transformations operate on consistent data without the risks of copy errors, partial copies, or synchronization issues that arise with multiple memory locations.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7860916B2Systems and methods for transforming data in buffer memory without unnecessarily copying data to additional memory locations
Publication Date: 2010.12.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7860916B2 patent drawing
  • US7860916B2 patent drawing
  • US7860916B2 patent drawing

AI summary

Various embodiments of the present invention are directed to a unique memory management scheme utilized by the DTP whereby data extracted from an external source is placed in a memory buffer and is then manipulated by the components without the need for copying the data to any other location in memory. While logically the data moves from component to component in the DFE for the various embodiments described herein, the data does not in fact change locations but, instead, the data resides in the buffer and is operated upon by a series of components that, in turn, access the data in the buffer via pointers and manipulate same.