Controller for Dynamic I/O Queue Management
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
3Reliability
If centralized control is implemented for queue management, then policy enforcement consistency is improved, but system scalability and distributed autonomy are reduced
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.
Data Source
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.


