Dynamic Configuration for Distributed Computing Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technical computing software is not designed for distributed computing, making it difficult to configure and transform desktop applications into distributed computing environments, which limits the ability to efficiently process computationally intensive tasks across multiple resources.

Innovation Solution

A dynamic configuration system that allows for the setup of a concurrent computing environment using a single string of configuration information, enabling users to transform MATLAB-based applications into distributed computing environments without significant changes to function signatures or user input, utilizing concurrent computing labs and a scheduler to manage task distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If distributed computing is implemented, then computation speed and resource utilization are improved, but system complexity and configuration difficulty increase

Engineering Contradiction:
Improvecomputation speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a configuration file as an intermediary between the user and the distributed computing system. This single file contains all necessary configuration information (number of computing labs, task distribution parameters, resource allocation settings), allowing users to set up complex distributed environments without directly managing system complexity. The configuration file acts as a mediator that translates user intentions into system actions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by automatically creating computing labs and configuring the distributed environment based on the configuration file before task execution begins. The patent pre-configures the computing infrastructure, lab connections, and task distribution mechanisms in advance, so users don't need to manually set up these complex elements when they want to run distributed computations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If distributed computing environment is configured, then processing capacity is improved, but ease of operation deteriorates

Engineering Contradiction:
Improveprocessing capacityVSAvoidease of operation
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The configuration file serves as an intermediary that simplifies user interaction with the distributed computing system. Instead of requiring users to navigate complex system settings and parameters, they only need to provide a single configuration string or file that encapsulates all necessary information, making the system as easy to operate as a simple input field while maintaining high processing capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The configuration file is designed to be universal and multi-functional, handling multiple configuration aspects (computing lab setup, task distribution, resource allocation) in a single unified interface. This universal configuration mechanism works across different distributed computing scenarios, providing consistent ease of operation regardless of the specific processing capacity requirements.

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

3Adaptability or versatility

If existing software is transformed for distributed computing, then adaptability is improved, but device complexity increases

Engineering Contradiction:
ImproveadaptabilityVSAvoidtransformation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary transformation actions to existing software by automatically generating the necessary distributed computing infrastructure and configuration based on the original desktop application requirements. The system pre-processes the software transformation, creating computing labs and task distribution mechanisms before the user runs their existing code, thereby improving adaptability without requiring users to manually handle the complexity of transformation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The configuration file acts as an intermediary that bridges existing desktop applications and the distributed computing environment. It translates the original software's computing requirements into distributed computing parameters, allowing existing software to adapt to distributed environments without users needing to understand or manage the transformation complexity directly.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8819119B2Dynamic definition for concurrent computing environments
Publication Date: 2014.08.26 MATHWORKS INC
  • US8819119B2 patent drawing
  • US8819119B2 patent drawing
  • US8819119B2 patent drawing

AI summary

Exemplary embodiments allow a user to create configurations for use in distributed computing environments. Configurations can be arranged in hierarchies in which elements of the hierarchy can inherit characteristics from elements in other layers of the hierarchy. Embodiments also allow a user to flatten a hierarchical configuration to remove hierarchical dependencies and/or inheriting capabilities of elements in the hierarchy. Exemplary embodiments further allow users to deploy a distributed computing configuration on their desktop to evaluate performance of the configuration and then deploy the configuration in a distributed computing environment without having to change programming code run on the desktop/distributed computing environment.