Elastic Queue Routing for Multi-Tenant Message Isolation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If separate physical queues are assigned to each tenant, then resource isolation is improved, but resource utilization efficiency decreases
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.
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.
Data Source
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.


