Decoupling Partitioning Framework for Scalable Distributed Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, users face challenges in efficiently utilizing distributed computing resources due to the complexity of designing applications that take advantage of scalable and fault-tolerant systems, requiring significant effort to manage scalability, fault tolerance, and availability.

Innovation Solution

A generic framework for partitioning application-defined computations decouples partitioning from other aspects of computation, allowing users to focus on application design by providing a simplified interface for managing scalability, fault tolerance, and availability, using a partitioning system with application-defined interfaces and fixed interfaces to assign and manage partitions across multiple servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If users directly manage partitioning of computations in distributed environments, then control over resource allocation is improved, but application design complexity increases significantly

Engineering Contradiction:
Improveease of application designVSAvoidpartitioning management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the partitioning management functionality from the application logic and places it in a separate partitioning system. The system provides fixed interfaces that handle partitioning operations independently, allowing applications to focus on their core functionality without dealing with partitioning complexity. This separation of concerns directly resolves the contradiction by removing partitioning management burden from applications while maintaining control.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The partitioning system acts as an intermediary layer between applications and distributed computing resources. It provides a standardized interface that mediates between application requirements and partitioning operations, translating high-level application needs into partitioning decisions without requiring applications to understand partitioning mechanics. This intermediary approach simplifies application design while maintaining efficient resource allocation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If partitioning is tightly coupled with computation logic, then application-specific optimization is improved, but scalability and reusability deteriorate

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidframework reusability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The partitioning system is designed as a universal framework that can serve multiple computation types and applications through standardized fixed interfaces. The same partitioning infrastructure supports diverse computational workloads without requiring application-specific partitioning logic, enhancing reusability while maintaining efficiency through optimized partitioning algorithms that work across different domains.

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

Solution Approach 2:

The system segments partitioning functionality into independent, reusable components that can be applied to different computation types. By dividing the partitioning system into modular units with standardized interfaces, it achieves both scalability across different applications and optimized performance for specific computation patterns, resolving the contradiction between universality and efficiency.

Inventive Principle:
Principle #1Segmentation

3Productivity

If users implement custom partitioning algorithms, then application-specific performance is improved, but development effort and maintenance burden increase

Engineering Contradiction:
Improvejob execution efficiencyVSAvoiddevelopment time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs partitioning decisions in advance through automated algorithms that analyze computation requirements and allocate partitions before execution. This preliminary partitioning action eliminates the need for applications to implement custom partitioning logic, reducing development time while maintaining efficient resource allocation through pre-computed partitioning strategies optimized for different job types.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10635500B2Decoupling partitioning for scalability
Publication Date: 2020.04.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10635500B2 patent drawing
  • US10635500B2 patent drawing
  • US10635500B2 patent drawing

AI summary

Systems and methods are provided that enable a general framework for partitioning application-defined computations (e.g., jobs) in a scalable environment. The general framework decouples partitioning of a computation from the other aspects of the computation. As a result, the effort required to define an application-defined job is reduced or minimized, as the user is not required to provide a partitioning algorithm. A user can optionally take advantage of a partitioning framework by providing application-defined interfaces to perform the desired job. Optionally, a user can provide additional information to allow for modification of how partitions are assigned.