Dynamic Application Graph Partitioning for Multi-Platform Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing applications face challenges in integrating multiple platforms and systems due to integration, interoperability, and connectivity issues, making it difficult to develop and deploy computing applications that can utilize diverse hardware and software resources effectively.

Innovation Solution

A system and method for dynamic partitioning of computing applications, which uses a deployment subsystem to configure processors and memory to deploy applications as blueprints that instantiate graphs, identifying available platforms, partitioning them based on processing requirements and capabilities, and allocating subgraphs to optimal platforms for efficient resource utilization and data flow synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If computing applications are deployed across multiple platforms to utilize diverse hardware and software resources, then resource utilization and processing capability are improved, but integration complexity and interoperability issues increase

Engineering Contradiction:
Improveprocessing capabilityVSAvoidintegration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The computing application is segmented into multiple subgraphs that can be independently deployed on different platforms. Each subgraph represents a modular unit of computation that can be allocated to specific platforms based on their capabilities, thereby reducing integration complexity while maintaining multi-platform resource utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system employs a universal graph representation that can execute across diverse hardware and software platforms. The graph abstraction layer provides platform-independent interfaces, allowing the same computational logic to run on different platforms without requiring platform-specific integration code for each application.

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

2Adaptability or versatility

If computing applications are statically configured for deployment, then deployment simplicity is improved, but adaptability to different platforms and resource optimization deteriorate

Engineering Contradiction:
Improveplatform adaptabilityVSAvoiddeployment simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The system transitions from static to dynamic configuration by using runtime graph instantiation. The graph is defined in a platform-independent manner and dynamically instantiated on target platforms based on their specific capabilities and available resources. This allows the application to adapt to different platforms while maintaining a single source definition.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The deployment system automatically performs platform detection, capability matching, and graph instantiation without requiring manual configuration for each platform. The system self-adapts by detecting available resources and automatically configuring the graph execution environment, thereby maintaining deployment simplicity while achieving high platform adaptability.

Inventive Principle:
Principle #25Self-service

3Productivity

If computing applications are partitioned into subgraphs for distributed deployment, then resource optimization and scalability are improved, but synchronization complexity and data flow management increase

Engineering Contradiction:
Improveresource optimizationVSAvoidsynchronization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces a central deployment subsystem as an intermediary that manages subgraph partitioning, allocation, and synchronization. This mediator coordinates data flow between subgraphs distributed across different platforms, handling synchronization requirements centrally rather than requiring complex peer-to-peer coordination between subgraphs.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the deployment subsystem monitors the execution state of subgraphs and dynamically adjusts data flow synchronization. By continuously receiving feedback on subgraph performance and resource availability, the system can optimize data flow management and maintain synchronization without requiring predetermined complex synchronization protocols.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8887154B2Systems and methods for partitioning computing applications to optimize deployment resources
Publication Date: 2014.11.11 IMAGINE COMMUNICATIONS CORP
  • US8887154B2 patent drawing
  • US8887154B2 patent drawing
  • US8887154B2 patent drawing

AI summary

Systems and methods for dynamic partitioning of computing applications that involves partitioning a computing application based on processing requirements and available hardware resources to optimize resource usage and security across multiple platforms, and handle interprocess communications across the platforms.