Modular Software Architecture for Analytics Pipeline Reuse

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing and analytics pipelines require engineers to code from scratch, even for similar projects, due to the lack of reusable code from monolithic pipelines, differing programming languages, and the need to borrow from multiple projects, making it difficult to abstract or reuse components effectively.

Innovation Solution

A modular software architecture that allows for the creation of data processing and analytics pipelines using reusable 'nodes' and 'connectors' stored in repositories, enabling assembly and instantiation through a declarative configuration language, decoupled from specific code, and compatible with frameworks like Kedro and Airflow, allowing for the reuse of components across projects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If engineers code entire pipelines from scratch for each project, then each project can be completed, but development time and effort increase significantly

Engineering Contradiction:
Improvepipeline development speedVSAvoidtime spent coding from scratch
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments monolithic pipelines into reusable modular components (nodes) that can be independently developed, stored in repositories, and assembled for different projects. This segmentation enables engineers to reuse proven components across multiple projects rather than coding everything from scratch, directly improving productivity while reducing repetitive coding time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-building and storing reusable pipeline components in repositories before they are needed for specific projects. These pre-developed nodes can be quickly assembled and configured for new projects, eliminating the need to code entire pipelines from scratch and significantly reducing development time.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If monolithic pipelines are used, then projects can be completed, but code cannot be abstracted or reused from previous projects

Engineering Contradiction:
Improvecode reusabilityVSAvoidpipeline structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides monolithic pipelines into discrete, reusable nodes that can be independently extracted and assembled. This segmentation transforms complex monolithic structures into manageable, reusable components, enabling code abstraction and reuse across projects while maintaining organizational complexity through standardized interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates universal pipeline nodes that can serve multiple functions across different projects. These reusable components are designed with standardized interfaces and configurations that allow them to be adapted to various project requirements, increasing code versatility without requiring separate implementations for each project.

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

3Adaptability or versatility

If components are borrowed from multiple previous projects, then functionality can be enhanced, but integration becomes difficult due to different programming languages

Engineering Contradiction:
Improvecomponent interoperabilityVSAvoidintegration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (the modular node interface and repository system) that mediates between components from different programming languages and projects. This intermediary standardizes interfaces and provides translation mechanisms, enabling seamless integration of multi-language components while reducing integration complexity through unified assembly procedures.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11586432B1Modular software architecture for machine learning pipelines
Publication Date: 2023.02.21 MCKINSEY & CO INC
  • US11586432B1 patent drawing
  • US11586432B1 patent drawing
  • US11586432B1 patent drawing

AI summary

As organizations scale analytics, a challenge is the huge increase in number of analytics pipelines to be maintained by developers. In here, lies an example method and modular software architecture to assemble analytics pipeline from reusable components. (1) Reusable components can be utilities where each utility is versioned and has a collection of programming functions, also known as nodes, that follow “data-in-data-out” convention. As nodes are building blocks of a pipeline, an assembly instruction and human readable configurations can now be created to define a project pipeline from a repository of pipelines and well-versioned utilities. (2) By separating out re-usable functionalities from pipelines and data layers, this layered architecture can now support upgrades of functionalities overtime without re-writing of pipelines. (3) As reusable components become functionally exhaustive, these assembly instructions and configurations can then be decoupled from pipelines as knowledge which developers can conduct meta-analysis of configurations used across projects.