Parallel Algorithm Execution via Object Grouping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data management systems face challenges in efficiently analyzing and processing complex business data due to scattered and unstructured data across multiple databases, leading to difficulties in data quality issues and high costs for data maintenance and analysis.

Innovation Solution

The system structures data using object-oriented models, allowing for the grouping of object classes into contexts based on relationships, enabling parallel execution of algorithms across multiple nodes without additional coding, and distributing coded algorithms to nodes for independent execution, facilitating efficient data processing and analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is stored in scattered multiple databases to represent complex business processes, then data completeness and relationships are improved, but data analysis difficulty and cost increase

Engineering Contradiction:
Improvedata completenessVSAvoiddata analysis complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the distributed data across multiple databases into grouped object classes that can be independently processed. By organizing data into logical groups (contexts) that represent specific business processes or domains, the system maintains data completeness while enabling targeted analysis of specific data subsets, reducing overall analysis complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer (the object-oriented model with contexts) that sits between the scattered databases and the analysis processes. This intermediary organizes and structures the distributed data, providing a unified view without requiring physical consolidation, thus reducing analysis difficulty while preserving data relationships.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If algorithms are executed sequentially in single-threaded environment, then coding simplicity is improved, but processing speed and productivity deteriorate

Engineering Contradiction:
Improvecoding simplicityVSAvoidprocessing speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent creates copies of the single-threaded algorithm and distributes them to multiple nodes in the system. Each node executes a copy of the algorithm independently on its assigned data, maintaining the simplicity of the original single-threaded code while achieving parallel execution and improved processing speed across the distributed system.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent transitions from single-threaded sequential execution to multi-node parallel execution by adding a spatial dimension to the processing architecture. The same algorithm is executed simultaneously across multiple independent nodes, transforming the processing from a single-dimensional sequential process to a multi-dimensional parallel process, thereby increasing productivity without complicating the algorithm itself.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If data is structured using object-oriented models with contexts, then data organization and processing efficiency are improved, but system complexity increases

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidsystem structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal object-oriented framework that can handle multiple types of data and business processes through a common structure. The context-based organization provides a multi-functional system that can process various data types and algorithms uniformly, improving processing efficiency while managing complexity through standardization and reusability.

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

Data Source

PatentUS11650854B2Executing algorithms in parallel
Publication Date: 2023.05.16 MIOSOFT CORP
  • US11650854B2 patent drawing
  • US11650854B2 patent drawing
  • US11650854B2 patent drawing

AI summary

Among other things, a machine-based method comprises receiving an application specification comprising one or more algorithms. Each algorithm is not necessarily suitable for concurrent execution on multiple nodes in parallel. One or more different object classes are grouped into one or more groups, each being appropriate for executing the one or more algorithms of the application specification. The executing involves data that is available in objects of the object classes. A user is enabled to code an algorithm of the one or more algorithms for one group in a single threaded environment without regard to concurrent execution of the algorithm on multiple nodes in parallel. An copy of the coded algorithm is distributed to each of the multiple nodes, without needing additional coding. The coded algorithm is caused to be executed on each node in association with at least one instance of a group independently of and in parallel to executing the other copies of the coded algorithm on the other nodes.