Scalable Queues via Dynamic Subqueue Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cloud computing platforms face challenges in providing scalable and efficient message queuing systems that can handle high throughput and dynamic load balancing, leading to inefficiencies in resource utilization and message processing.

Innovation Solution

Implementing a structured storage subsystem with virtual queue managers and front-end servers that dynamically manage scalable queues by creating subqueues and load balancing across table servers, leveraging durability, replication, and scalability features of the structured storage system to handle message queuing and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional cloud computing platforms use traditional message queuing systems, then basic message delivery is provided, but scalability and throughput are limited

Engineering Contradiction:
Improvemessage processing throughputVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments a single scalable queue into multiple subqueues (first subqueue, second subqueue, etc.), each capable of independently storing and processing messages. This segmentation enables parallel message processing across multiple subqueues, significantly increasing throughput while maintaining manageable complexity through automated subqueue management by the virtual queue manager.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the number of subqueues based on workload demand. The virtual queue manager monitors queue conditions and automatically creates or removes subqueues as needed, allowing the message queuing system to adapt its capacity in real-time without manual intervention, thereby scaling throughput dynamically while keeping operational complexity low.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If manual queue management is used, then control over queue operations is maintained, but resource utilization efficiency decreases

Engineering Contradiction:
Improvequeue management easeVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The virtual queue manager implements self-service by automatically monitoring queue conditions, dynamically creating and managing subqueues, and performing load balancing across table servers without human intervention. This automation maintains ease of operation for users while dramatically improving resource utilization efficiency through optimal automatic distribution of messages and workloads.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback mechanisms where the virtual queue manager continuously monitors queue depth, message processing rates, and server load conditions. Based on this feedback, the system automatically adjusts subqueue creation, message routing, and load balancing decisions, enabling both ease of operation and high resource utilization efficiency through closed-loop control.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If static queue configuration is used, then system simplicity is maintained, but adaptability to varying workloads is reduced

Engineering Contradiction:
Improveworkload adaptabilityVSAvoidqueue structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The queue structure transitions from static to dynamic through the virtual queue manager's ability to automatically create, modify, and remove subqueues based on real-time workload conditions. This dynamic adaptation allows the system to handle varying message volumes and processing demands efficiently while presenting a simplified interface to users who don't need to manually configure queue structures.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The scalable queue system provides universal functionality by handling diverse workload types through a unified dynamic subqueue structure. The same infrastructure automatically adapts to different message volumes, processing speeds, and queue depths without requiring separate configurations, thereby achieving high workload adaptability while maintaining operational simplicity through a single unified interface.

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

4Productivity

If load balancing is not implemented, then system complexity is reduced, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidload balancing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The virtual queue manager implements self-service load balancing by automatically monitoring the distribution of messages across subqueues and table servers, then dynamically routing new messages to optimize resource utilization. This automated load balancing improves resource utilization efficiency without requiring manual intervention or complex external load balancers, as the system performs load distribution autonomously.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The load balancing mechanism uses feedback from queue depth monitoring and server performance metrics to dynamically adjust message routing decisions. The virtual queue manager continuously receives feedback on system state and automatically modifies load distribution to optimize resource utilization, achieving high productivity while keeping load balancing complexity managed through automated control loops.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8769134B2Scalable queues on a scalable structured storage system
Publication Date: 2014.07.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8769134B2 patent drawing
  • US8769134B2 patent drawing
  • US8769134B2 patent drawing

AI summary

A cloud computing platform contains a structured storage subsystem the provides scalable queues. The cloud computing platform monitors message throughput for the scalable queues and automatically increases or decreases subqueues that provide the operational functionality for each scalable queue. A visibility start time and cloud computing platform time are maintained for each message to provide an approximate first-in-first-out order for messages within each subqueue. A message in a subqueue may be available for processing when the current cloud computing time is greater than the visibility start of the message.