Controller for Dynamic I/O Queue Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of data storage systems, particularly in large data centers, makes it difficult to enforce end-to-end policies for storage input/output flows, ensuring performance and quality of service due to long and opaque input/output paths with multiple layers, which hinders the adoption and advancement of cloud computing services.

Innovation Solution

Implementing a system with centralized or distributed controllers that configure and manage queues at various stages of the data storage system to enforce policies dynamically, using high-level identifiers resolved into low-level identifiers, and applying queuing rules to ensure compliance with performance and functionality criteria across compute-to-compute and server-to-server flows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtualization of physical servers and storage is implemented, then resource sharing and flexibility are improved, but system complexity and difficulty of policy enforcement increase

Engineering Contradiction:
Improveresource sharing flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a controller as an intermediary component that manages and coordinates I/O operations across virtualized storage systems. This controller acts as a mediator between compute nodes and storage resources, handling policy enforcement and queue management centrally, thereby reducing the complexity burden on individual virtualized components while maintaining overall system flexibility and resource sharing capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple layers with opaque interfaces are used in I/O path, then system modularity and flexibility are improved, but policy enforcement capability deteriorates

Engineering Contradiction:
Improvesystem modularityVSAvoidpolicy enforcement capability
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements feedback mechanisms where the controller monitors I/O operations across multiple layers and receives status information from various stages of the I/O path. This feedback enables the controller to track and enforce policies end-to-end, overcoming the opacity of intermediate interfaces by maintaining visibility into operation status and performance metrics throughout the multi-layered architecture.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The controller is designed as a universal management component that can enforce policies across different types of I/O operations, storage resources, and compute nodes. It provides multi-functional capabilities including queue management, policy enforcement, and coordination across heterogeneous interfaces, thereby maintaining policy enforcement capability despite the diversity of opaque interfaces in the I/O path.

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

3Reliability

If centralized control is implemented for queue management, then policy enforcement consistency is improved, but system scalability and distributed autonomy are reduced

Engineering Contradiction:
Improvepolicy enforcement consistencyVSAvoidcentralized control complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the control functionality by distributing queue management responsibilities across multiple controllers or control planes. Each controller manages specific subsets of queues or I/O operations, allowing policy enforcement consistency within each segment while enabling the overall system to scale and maintain distributed autonomy. This segmentation reduces the burden on any single centralized controller and improves system scalability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3044919B1Controlling data storage input/output requests
Publication Date: 2017.03.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3044919B1 patent drawing
  • EP3044919B1 patent drawing
  • EP3044919B1 patent drawing

AI summary

Controlling data storage input/output requests is described, for example, to apply a policy to an end-to-end flow of data input/output requests between at least one computing entity and at least one store. In various examples a plurality of queues are configured at one or more stages of the end-to-end flow and controlled to adhere to a policy. In examples, each stage has a control interface enabling it to receive and execute control instructions from a controller which may be centralized or distributed. For example, the control instructions comprise queuing rules and/or queue configurations. In various examples queues and queuing rules are dynamically created and revised according to feedback about any of: flow behavior, changes in policy, changes in infrastructure or other factors. In examples, high level identifiers of the flow endpoints are resolved, on a per stage basis, to low level identifiers suitable for use by the stage.