Resource Optimization Engine for Dynamic Priority Adjustment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Windows-based computing environments, resource allocations such as CPU and I/O operations are not optimized dynamically, leading to user experience and hardware density issues due to static priority settings, which result in unnecessary slowdowns and inefficient memory usage.

Innovation Solution

A resource optimization engine dynamically adjusts processing and I/O priority levels and CPU affinity for processes based on their behavior, using known or default classifications, and reallocates memory as needed to optimize resource usage without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If static priority settings are used for CPU and I/O operations, then system stability is maintained, but resource utilization efficiency deteriorates leading to unnecessary slowdowns

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidprocess execution speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent implements dynamic priority adjustment by continuously monitoring process behavior metrics (CPU usage, memory usage, I/O operations) and automatically adjusting process priorities in real-time. The resource optimization engine transitions from static to dynamic priority management, allowing the system to adapt to changing workloads and prevent both starvation and monopolization of resources.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system establishes a feedback loop where the resource optimization engine monitors process performance metrics, compares them against thresholds, and adjusts priorities accordingly. This closed-loop control enables the system to respond to actual resource consumption patterns and correct inefficiencies dynamically, improving overall productivity without compromising execution speed.

Inventive Principle:
Principle #23Feedback

2Productivity

If developers manually optimize memory allocation for applications, then memory usage efficiency improves, but system complexity and development time increase

Engineering Contradiction:
Improvememory usage efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The resource optimization engine autonomously manages memory allocation by monitoring application memory usage patterns and dynamically adjusting allocations without requiring developer intervention. The system self-regulates memory distribution based on actual usage, eliminating the need for manual optimization while maintaining high efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates a universal resource management layer that handles multiple resource types (CPU, memory, I/O) through a single optimization engine. This multi-functional approach consolidates complexity into one system component rather than requiring separate optimization mechanisms for each resource type, reducing overall system complexity.

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

3Reliability

If CPU and I/O priorities are not dynamically adjusted, then system stability is maintained, but user experience deteriorates due to unnecessary slowdowns

Engineering Contradiction:
Improvesystem stabilityVSAvoiduser experience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system maintains stability through controlled dynamic adjustments rather than abrupt changes. The resource optimization engine uses gradual priority transitions and monitoring to ensure system stability while improving user experience through responsive resource allocation that adapts to actual workload conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The feedback mechanism monitors system state continuously and makes incremental adjustments only when necessary, preserving system stability. By comparing actual resource usage against expected patterns, the system improves user experience through targeted optimizations without introducing instability from excessive or inappropriate priority changes.

Inventive Principle:
Principle #23Feedback

4Productivity

If additional hardware is deployed to handle resource allocation, then resource capacity increases, but hardware cost and system complexity increase

Engineering Contradiction:
Improveresource capacityVSAvoidhardware quantity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent optimizes resource capacity by changing the parameters of resource allocation (priorities, time slicing, allocation ratios) rather than adding physical hardware. The resource optimization engine adjusts software-controlled parameters to maximize the utilization of existing hardware resources, achieving increased effective capacity without proportional increases in physical hardware quantity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10528387B2Computer processing system with resource optimization and associated methods
Publication Date: 2020.01.07 CITRIX SYSTEMS INC
  • US10528387B2 patent drawing
  • US10528387B2 patent drawing
  • US10528387B2 patent drawing

AI summary

A computer processing system includes a processor configured to execute a process, and a memory coupled to the processor to store known and default resource classifications. The known and default resource classifications correspond to processing priority levels and I/O priority levels. A resource optimization engine is configured to identify the process to be executed, and determine if the process is associated with the known resource classification. If yes, then adjust at least one of the processing priority level and the I/O priority level for the process to the known resource classification. If no, then adjusting at least one of the processing priority level and the I/O priority level for the process to a default resource classification.