Path Selection for Application Commands in Storage Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network environments, the existing resource allocation methods often result in 'leakage' of application commands, where some commands are processed earlier than intended, leading to over-allocation of resources and adverse effects on Quality-of-Service (QoS) for other commands, particularly in storage area networks (SANs) where multiple applications compete for shared resources.
Innovation Solution
The method involves detecting leaked application commands and directing subsequent similar commands to a reduced number of ports, determined based on command parameters, to prevent over-allocation and maintain desired QoS levels by identifying a subset of available ports and routing subsequent commands through these selected paths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If commands are distributed across multiple ports for resource allocation, then resource utilization is improved, but command leakage increases causing QoS degradation
Solution Approach 1:
The system segments commands into different categories (leaked commands vs. non-leaked commands) and routes them through different port subsets. By dividing the command flow based on leakage behavior, the system can optimize resource utilization for non-leaked commands while preventing leakage for other commands, thus resolving the contradiction between productivity and reliability.
Solution Approach 2:
The system implements feedback by monitoring command leakage at ports and using this information to dynamically adjust port selection for subsequent commands. The detector identifies leaked commands, and this feedback is used to modify the path selection algorithm, preventing future leakage and maintaining QoS while preserving resource utilization benefits.
2Ease of operation
If a fixed period allocation is used for fair resource distribution, then fairness is improved, but command leakage occurs reducing overall efficiency
Solution Approach 1:
The system transitions from a static fixed-period allocation to a dynamic path selection mechanism that adapts based on command characteristics and historical leakage patterns. By dynamically selecting ports based on real-time conditions and command types, the system maintains fairness while preventing the inefficiencies caused by rigid periodic allocation.
Solution Approach 2:
The system changes the parameter of port selection from a fixed periodic pattern to a variable selection based on command parameters and leakage history. This parameter change allows the system to maintain fairness objectives while avoiding the command leakage that reduces efficiency under fixed periodic allocation.
3Productivity
If all ports are used for command processing, then throughput is improved, but resource over-allocation occurs affecting other commands
Solution Approach 1:
The system applies local quality by assigning different port subsets to different command types based on their leakage characteristics. Instead of uniform treatment, commands with leakage problems are routed through specific ports while other commands use different ports, allowing optimized resource allocation for each command category and preventing over-allocation.
Solution Approach 2:
The path selection algorithm acts as an intermediary between commands and ports, intelligently matching commands to appropriate ports based on leakage patterns. This intermediary layer prevents direct mapping that causes over-allocation, instead routing commands through intermediate selection logic that considers resource allocation accuracy and prevents negative impacts on other commands.
Data Source
AI summary
Systems and methods for path selection for application commands are described. To this end, information associated with at least one application command that were processed at least one port of a target device is received. For a subsequent application command, a set of ports of the target device is determined. In one implementation, the set of ports is determined based on information associated with the subsequent application command. Once the set of ports is determined, the subsequent application command is directed to a port selected from the set of ports.


