Tiered Service Model for Fair Resource Allocation in Multi-Tenant Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant environments, conventional techniques fail to provide real-time guarantees for resource allocation, leading to performance degradation as long-running messages starve short messages of thread resources, causing frustration among customers due to inconsistent and inefficient resource scheduling.

Innovation Solution

A tiered service model-based mechanism that collects data on job types, computes actual and expected resource usage, and dynamically routes job types between tiers to ensure fair allocation of thread resources, promoting underutilized jobs and demoting overutilized ones, using a fair scheduler and resource allocation engine to enforce business policies and capacity guarantees.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional resource allocation techniques are used in multi-tenant environments, then system simplicity is maintained, but resource fairness and customer satisfaction deteriorate due to starvation of short messages by long-running messages

Engineering Contradiction:
Improveresource allocation fairnessVSAvoidresource management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the resource allocation system into multiple independent components: a fair scheduler that manages thread time distribution, a resource allocation engine that enforces business policies, and a tiered service model that categorizes job types. This segmentation allows each component to handle specific aspects of resource management independently, improving fairness while maintaining overall system manageability through modular architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic resource allocation where the fair scheduler continuously monitors actual resource usage versus expected allocation and adjusts thread time distribution in real-time. The system dynamically promotes or demotes job types between tiers based on their resource consumption patterns, allowing the resource management system to adapt to changing workload conditions while maintaining fairness guarantees

Inventive Principle:
Principle #15Dynamics

2Productivity

If long-running messages are allowed to execute without restrictions, then throughput for complex jobs is improved, but resource starvation of short messages occurs leading to performance degradation

Engineering Contradiction:
Improvejob processing throughputVSAvoidwaiting time for short messages
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent changes the parameter of resource allocation from static to dynamic by introducing a fair scheduler that continuously adjusts thread time distribution based on actual usage versus expected allocation. The system modifies resource allocation parameters in real-time, promoting job types that are starved of resources and demoting those that consume excessive resources, thereby balancing throughput and waiting time for different message types

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements a feedback mechanism where the fair scheduler monitors the actual resource usage of each job type and compares it against expected allocation levels. This feedback loop enables the system to identify imbalances and automatically adjust resource distribution, ensuring that long-running messages do not starve short messages while maintaining overall system productivity

Inventive Principle:
Principle #23Feedback

3Reliability

If real-time resource guarantees are implemented, then customer satisfaction is improved, but system complexity and overhead increase

Engineering Contradiction:
Improvereal-time resource guaranteesVSAvoidscheduling system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the complex scheduling system into specialized components with distinct responsibilities: the fair scheduler handles real-time monitoring and adjustment, the resource allocation engine enforces business policies, and the tiered service model provides structured organization of job types. This segmentation makes the system more manageable despite the increased complexity required for real-time guarantees

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a fair scheduler as an intermediary component that mediates between job type requirements and available thread resources. This intermediary continuously monitors resource usage, makes real-time allocation decisions, and enforces fairness guarantees, thereby managing the complexity of real-time resource management through a dedicated control layer

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10169090B2Facilitating tiered service model-based fair allocation of resources for application servers in multi-tenant environments
Publication Date: 2019.01.01 SALESFORCE INC
  • US10169090B2 patent drawing
  • US10169090B2 patent drawing
  • US10169090B2 patent drawing

AI summary

In accordance with embodiments, there are provided mechanisms and methods for facilitating tiered service model-based fair allocation of resources for application servers in multi-tenant environments. In one embodiment and by way of example, a method includes collecting, by and incorporating into the database system, data relating to job types associated with one or more tenants of a plurality of tenants within a multi-tenant database system, computing, based on the data, an actual resource use and an expected resource allocation associated with each job type, and assigning classifications to the job types based on their corresponding actual resource use and the expected resource allocation. The method may further include routing the job types between tiers based on the assigned classifications, where the routing includes at least one of promoting, demoting, and maintaining one or more tiers for the job types.