Partitioning Framework for Scalable Distributed Jobs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, users face challenges in efficiently partitioning and managing computing tasks across distributed resources, requiring significant effort to design applications that can scale and ensure high availability and fault tolerance.

Innovation Solution

A generic framework for partitioning application-defined jobs decouples partitioning from other aspects of job management, allowing users to focus on application design without providing a partitioning algorithm, utilizing a namespace-based approach with application-defined and fixed interfaces to manage partitions and servers in a scalable and fault-tolerant manner.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users manually design partitioning algorithms for distributed computing tasks, then fine-grained control over task distribution is achieved, but application development complexity and time investment increase significantly

Engineering Contradiction:
Improvecontrol over task distributionVSAvoidapplication development complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the partitioning algorithm functionality from the application code and places it in a separate, pre-configured pool of partitioning algorithms. The application developer only needs to select from available algorithms rather than implementing partitioning logic, thereby removing complexity while preserving control capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system provides a universal partitioning framework that handles multiple partitioning strategies (range, hash, random, etc.) through a common interface. This multi-functional approach allows a single application to leverage various partitioning methods without developing separate partitioning logic for each case, reducing overall complexity.

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

2Productivity

If computing tasks are divided into smaller portions for parallel processing, then resource utilization and processing speed improve, but the management overhead of coordinating multiple partitions increases

Engineering Contradiction:
Improveprocessing speedVSAvoidmanagement overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a partitioning service as an intermediary layer between the application and the distributed computing infrastructure. This mediator automatically manages partition creation, assignment, and coordination, enabling parallel processing benefits while abstracting away the complex management overhead from the application developer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the partitioning management functionality into distinct, independently configurable components (partitioning algorithms, partition assignments, task routing). This segmentation allows each component to be optimized and managed separately, reducing the complexity of coordinating multiple partitions while maintaining high processing speed.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If a generic partitioning framework is implemented to simplify application development, then ease of use improves, but the ability to optimize for specific application requirements may be reduced

Engineering Contradiction:
Improveease of useVSAvoidoptimization capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic partitioning framework where the system can automatically select and switch between different partitioning algorithms based on application requirements and workload characteristics. This dynamic adaptability allows the generic framework to optimize for specific applications without requiring manual configuration, thereby maintaining both ease of use and optimization capability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms that monitor partitioning performance and automatically adjust algorithm selection and parameters. This feedback loop enables the generic framework to learn from specific application requirements and optimize partitioning strategies over time, preserving adaptability while maintaining simplicity for users.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11886925B2Managing partitions in a scalable environment
Publication Date: 2024.01.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11886925B2 patent drawing
  • US11886925B2 patent drawing
  • US11886925B2 patent drawing

AI summary

Systems and methods are provided that enable a general framework for partitioning application-defined jobs in a scalable environment. The general framework decouples partitioning of a job from the other aspects of the job. As a result, the effort required to define the application-defined job is reduced or minimized, as the user is not required to provide a partitioning algorithm. The general framework also facilitates management of masters and servers performing computations within the distributed environment.