Elastic Queue Routing for Multi-Tenant Message Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional message queueing techniques require manual creation and assignment of separate physical queues for tenants, leading to inefficiencies, costs, and human errors, as they are prone to delays and mismanagement in multi-tenant environments.

Innovation Solution

A smart elastic queue routing mechanism dynamically allocates and reassigns tenant-specific queues at runtime, identifying and isolating misbehaving tenants to ensure fair resource usage through automated splitting and coalescing of queues, thereby managing workload isolation and service protection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual creation and assignment of separate physical queues is used for tenants, then resource isolation is achieved, but system complexity and operational costs increase

Engineering Contradiction:
Improveresource isolationVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the queue management system by introducing tenant identifiers and message type identifiers that divide the shared queue into logical segments for different tenants and message types. This allows resource isolation without requiring separate physical queues for each tenant, reducing system complexity while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent makes a single shared queue serve multiple tenants and multiple message types simultaneously through dynamic routing based on tenant_id and message_type_id. This multi-functional approach eliminates the need for separate physical queues for each tenant, reducing operational complexity while maintaining resource isolation.

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

2Reliability

If manual creation and assignment of separate physical queues is used for tenants, then resource isolation is achieved, but operational efficiency decreases due to delays and human errors

Engineering Contradiction:
Improveresource isolationVSAvoidoperational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements self-service queue routing where the system automatically assigns messages to appropriate queue segments based on tenant_id and message_type_id without manual intervention. The dynamic routing mechanism autonomously manages resource allocation and isolation, eliminating human errors and operational delays while maintaining resource isolation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent pre-configures the shared queue structure with tenant_id and message_type_id segmentation capabilities before operation. This preliminary setup enables automatic routing and resource isolation to function efficiently from the start, eliminating the need for manual queue creation and assignment operations.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If separate physical queues are assigned to each tenant, then resource isolation is improved, but resource utilization efficiency decreases

Engineering Contradiction:
Improveresource isolationVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple tenant queues and message type queues into a single shared physical queue, using logical segmentation through identifiers and dynamic routing. This combination maintains resource isolation for each tenant while improving overall resource utilization by allowing the shared queue to serve multiple tenants simultaneously, eliminating idle capacity in separate queues.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces dynamic routing that adapts message allocation based on real-time tenant_id and message_type_id requirements. This dynamic approach allows the system to optimize resource utilization by directing messages to appropriate segments within the shared queue, maintaining isolation while efficiently utilizing available resources compared to static separate queue assignments.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10776373B2Facilitating elastic allocation of organization-specific queue resources in an on-demand services environment
Publication Date: 2020.09.15 SALESFORCE INC
  • US10776373B2 patent drawing
  • US10776373B2 patent drawing
  • US10776373B2 patent drawing

AI summary

In accordance with embodiments, there are provided mechanisms and methods for facilitating elastic allocation of tenant-specific queue resources in an on-demand services environment in a multi-tenant environment according to one embodiment. In one embodiment and by way of example, a method includes allocating resources to a plurality of tenants, identifying, in runtime, one or more offending tenants of the plurality of tenants and one or more victim tenants of the plurality of tenants. The one or more offending tenants consume above their allocated share of the resources within a message type, and the one or more victim tenants consume below their allocated share of the resources or none of the resources within the message type. The method may further include isolating, in runtime, the offending tenants and the victim tenants, and routing, in runtime, each tenant of the offending tenants and the victim tenants to a queue dedicated to the tenant and the message type.