Multitenant Request Prioritization via Shared Memory Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multitenant cloud services, managing task execution across a large number of tenants is challenging due to the difficulty in configuring systems to avoid resource occupancy by specific tenants, especially when the number of tenants exceeds the number of available queues.

Innovation Solution

An information processing system that retains processing requests based on priorities set according to the rank and resource usage of each tenant, with a smaller number of request retaining units, and executes tasks in order of priority, using a first-in first-out queue system to manage resource allocation efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a queue is prepared for each tenant to manage task execution, then resource occupancy by specific tenants can be avoided, but the system configuration becomes unrealistic when the number of tenants is extremely large

Engineering Contradiction:
Improveresource allocation fairnessVSAvoidsystem configuration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple tenant queues into a smaller number of shared queues. Instead of maintaining one queue per tenant, multiple tenants share common queues, reducing the total number of queues while still enabling differentiated task management through priority levels and tenant identification in queue metadata

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent makes queues universal by designing them to handle tasks from multiple tenants simultaneously. Each queue is configured to process tasks from various tenants based on priority rules and tenant-specific parameters, allowing a single queue to serve multiple functions and multiple tenants

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

2Reliability

If priority-based task execution is implemented using tenant ranks, then resource occupancy can be controlled, but the management complexity increases when dealing with extremely large numbers of tenants

Engineering Contradiction:
Improvetask execution controlVSAvoidtenant management ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent changes the management approach from individual tenant queue configuration to parameter-based task routing. Tasks carry tenant ID and priority parameters that are processed by the queue management system, allowing dynamic priority-based execution without manual queue configuration for each tenant

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces a queue management intermediary that handles the complexity of tenant prioritization. This intermediary component receives tasks from multiple tenants, applies priority rules based on tenant ranks and current system state, and routes tasks to appropriate shared queues, shielding tenant management complexity from the rest of the system

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11194619B2Information processing system and non-transitory computer readable medium storing program for multitenant service
Publication Date: 2021.12.07 FUJIFILM BUSINESS INNOVATION CORP
  • US11194619B2 patent drawing
  • US11194619B2 patent drawing
  • US11194619B2 patent drawing

AI summary

An information processing system for a multitenant service is proposed. The system includes memory queues and a processor. Processing requests issued from tenants are received through a network, where the number of the memory queues is smaller than the number of the tenants, and a priority is given to each of the memory queues. A priority of the processing request issued from each of the tenants is specified, based on a rank set with respect to each of the tenants and the amount of a used calculation resource for a predetermined period of time for each of the tenants, and the processing requests are retained in the memory queues according to the priorities. The retained processing requests are extracted from the memory queues in an order specified based on the priorities to execute processing corresponding to the processing requests.