Data Flow Distributor for Parallel Buffer Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing ETL tools face challenges in scalability and efficiency, particularly when handling complex data transformations, as they require custom development and are not easily reusable, leading to resource-intensive processes and limited utility.

Innovation Solution

The implementation of a data transformation pipeline with a distributor and collector system that allows for implicit partitioning of buffers across multiple threads, enabling concurrent processing and efficient memory management, thereby improving scalability and performance by utilizing multiple processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If custom development of complex ETL tools is performed to handle complex data transformations, then transformation functionality is achieved, but resource consumption increases and reusability decreases

Engineering Contradiction:
Improvetransformation functionalityVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system segments complex data transformation tasks into reusable ETL tools that can be independently developed, stored in a toolbox, and combined through a graphical interface. This allows complex transformations to be built from modular components rather than custom-developed monolithic solutions, reducing resource consumption while maintaining functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates universal ETL tools with predefined functionality that can be reused across multiple data transformation scenarios. These tools are designed to handle common transformation patterns generically, eliminating the need for custom development in each case and improving both resource efficiency and reusability.

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

2Productivity

If simple ETL tools are used for widespread reuse, then reusability increases, but handling complex transformations becomes limited

Engineering Contradiction:
ImprovereusabilityVSAvoidtransformation capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system merges multiple simple ETL tools into complex transformation pipelines through a graphical user interface that allows users to connect tools in sequence. This combination capability enables simple reusable tools to achieve complex transformation functionality when orchestrated together, maintaining reusability while expanding capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system provides dynamic configuration of ETL tool pipelines through a graphical interface, allowing users to adapt simple reusable tools to different complex scenarios by changing the flow and connections rather than modifying the tools themselves. This maintains tool reusability while providing adaptability for complex transformations.

Inventive Principle:
Principle #15Dynamics

3Productivity

If data flow execution is distributed across multiple processors, then runtime performance increases, but system complexity increases

Engineering Contradiction:
Improveruntime performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements automatic workplan distribution that self-configures across available processors without requiring manual intervention. The distributor automatically partitions data flow execution and assigns tasks to multiple processors, achieving parallel performance benefits while keeping the system simple to use through automated management of the underlying complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7930432B2Systems and methods for distributing a workplan for data flow execution based on an arbitrary graph describing the desired data flow
Publication Date: 2011.04.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7930432B2 patent drawing
  • US7930432B2 patent drawing
  • US7930432B2 patent drawing

AI summary

Various embodiments of the present invention are directed to the creation of multiple redundant chains of transforms, each on a separate processing thread, for a data flow execution (DFE) of a data transformation pipeline (DTP). For certain of these embodiments, a “distributor” receives a buffer as input and directs that buffer to one of several parallel identical threads to process that buffer. A scheduler would create each of these multiple threads, each thread having an identical (redundant) strings of transforms (chains) downstream from the distributor, and all of which would lead even further downstream to a collector that is responsible for collecting and, if necessary, ordering the buffers processed by the previous redundant chains. In this way, the distributors and collectors provide increased scalability for the pipeline by implicitly partitioning (distributing) individual buffers to one of many threads for at least a part of their execution/processing.