Resource Grouping for Application Performance Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud services, excessive system resource consumption by multiple applications can lead to system distress, resulting in poor performance and errors, especially during peak usage times or when applications are not optimized for older systems or poorly behaved updates.

Innovation Solution

A method and apparatus for monitoring system resource usage, bundling applications into resource groups when thresholds are exceeded, and applying a collective resource usage rate to manage resource consumption, thereby preventing system overload and maintaining performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple applications are allowed to run simultaneously on shared system resources, then application availability and service coverage are improved, but system resource exhaustion and system distress occur

Engineering Contradiction:
Improveapplication availabilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent combines multiple applications into a resource group, treating them as a single entity for resource allocation purposes. This merging allows the system to collectively manage resources for the group, preventing individual applications from exhausting system resources while maintaining service availability for all applications in the group.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements continuous monitoring of system resource usage by applications and dynamically adjusts resource allocation based on observed usage patterns. When resource consumption exceeds thresholds, the system responds by applying resource usage rates to resource groups, creating a feedback loop that maintains system stability while allowing flexible application execution.

Inventive Principle:
Principle #23Feedback

2Reliability

If resource usage rates are applied to resource groups during peak times, then system overload is prevented, but application performance may be limited

Engineering Contradiction:
Improvesystem stabilityVSAvoidapplication performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies resource usage rates dynamically rather than statically. Resource groups can be created, modified, or dissolved based on real-time system conditions and application behavior. This dynamic approach allows the system to adapt resource allocation to current needs, preventing overload while minimizing performance limitations when resources are available.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of resource allocation from individual application-based to group-based when certain conditions are met. By transitioning between different resource allocation modes (individual vs. grouped) and adjusting resource usage rates based on system state, the system optimizes both stability and performance under varying load conditions.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3452907B1Control of applications that use system resources
Publication Date: 2022.09.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3452907B1 patent drawingFigure 1
  • EP3452907B1 patent drawingFigure 2
  • EP3452907B1 patent drawingFigure 3

AI summary

System resources on a computer system are conserved by controlling the applications that use those system resources. This can be accomplished by monitoring an indication of use of a system resource by a plurality of applications, determining whether the indication of use exceeds a predetermined threshold of use, if the indication of use exceeds the predetermined threshold of use then bundling the applications using that system resource into a resource group, and assigning a resource usage rate to the resource group for a period of time, the assigned resource usage rate being below the indication of use of that system resource, and the assigned resource usage rate applying collectively to the applications in the resource group.