Apportioned Queue for Server Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional server systems face issues with request prioritization, leading to starvation and unpredictable service quality due to the First-In First-Out (FIFO) queuing procedure, which does not account for different service levels, resulting in inefficient resource utilization and additional licensing fees.

Innovation Solution

An apportioned queue data structure is introduced, comprising subqueues or 'windows' that allocate resources based on service level agreements, allowing requests to be processed according to desired percentages, with slot sizes adjusted based on estimated and actual processing times, and incorporating error adjustments to ensure accurate resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If priority-based request processing is implemented, then response time for high-priority requests is improved, but lower-priority requests suffer from starvation and unpredictable service quality

Engineering Contradiction:
Improveresponse timeVSAvoidservice quality consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The queue is divided into multiple priority levels (segments), each with its own processing guarantees. This segmentation allows high-priority requests to be processed faster while ensuring low-priority requests receive a minimum guaranteed service level, preventing starvation and maintaining consistent service quality across all request types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts processing parameters such as slot allocation and time window sizes based on current system state and service level agreements. This allows the queue to adapt to varying workloads while maintaining guaranteed service levels for different priority classes, resolving the contradiction between speed improvement and service quality consistency.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If separate clusters are hosted for different service levels, then guaranteed service quality is achieved, but resource utilization efficiency decreases and licensing costs increase

Engineering Contradiction:
Improveservice level guaranteeVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Multiple service levels are merged into a single unified queue system rather than requiring separate clusters. This consolidation allows efficient resource sharing while maintaining service level guarantees through priority-based slot allocation and time window management, thereby improving resource utilization efficiency and reducing licensing costs.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The queue system is designed to handle multiple service levels within a single infrastructure, making the system universal and multi-functional. This eliminates the need for separate dedicated clusters for each service level, improving resource utilization while maintaining the ability to guarantee service quality for different priority classes.

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

3Productivity

If FIFO queuing procedure is used, then resource utilization is efficient, but service quality varies unpredictably and does not account for different service levels

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidservice level consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Different parts of the queue (different priority levels) receive different processing treatments tailored to their specific service level agreements. High-priority requests receive preferential treatment with smaller time windows and higher slot allocation, while low-priority requests receive appropriate but reduced service, ensuring each service level receives consistent quality appropriate to its agreement.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The queue system dynamically adjusts processing parameters such as time window sizes and slot allocations based on current system state and service level requirements. This dynamic behavior allows the system to maintain efficient resource utilization while ensuring consistent service quality for different priority levels, adapting to varying workloads in real-time.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8832274B2Apportioned queue for resource allocation
Publication Date: 2014.09.09 SAP IRELAND LTD
  • US8832274B2 patent drawing
  • US8832274B2 patent drawing
  • US8832274B2 patent drawing

AI summary

An apportioned queue data structure allows a server to specify allocation of resources to return requests according to a prescribed usage request. The data structure comprises an input queue comprising of a set of subqueues (also known as windows). Windows contain requests that will be processed over a fixed window of time. Received items are removed from the input queue and packed into the subqueues according to the service level agreement. These windows (and the elements present within) are then processed in the order of the windows queue (and the order in the window) are arranged. The time for each task is not known until after the request is processed and may be estimated. In a steady state of high load, a queue is created that returns requests tending toward requested percentages of the service level agreement.