IP Library Granted Patent US 12711081
Granted Patent B2
US 12711081 · App. 18/630,208 · Granted Aug 18, 2026

Dynamically routing input/output commands

Inventors: Pasquale A. Catalano (Wallkill, NY); John S. Werner (Fishkill, NY); Arkadiy O. Tsfasman (Wappingers Falls, NY); Andrew Gerald Crimmins (Montrose, NY)
Assignee: International Business Machines Corporation
G06F13/20G06F2213/40
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12711081
App. No.
18/630,208
Granted
Aug 18, 2026
Kind
B2
Abstract

Methods, systems, and products for dynamically routing I/O commands includes receiving an input/output (I/O) command targeting a destination target, selecting, from a plurality of paths to the destination target, a path based on power consumption and a command response time associated with the path, and processing the I/O command on the selected path.

Claims (40)

1 . A method performed by an input/output (I/O) controller of a computing system, the method comprising:

receiving, by the I/O controller, an I/O input/output (I/O) command targeting a destination target;

selecting, by the I/O controller and from a plurality of paths to the destination target, a path based on power consumption and a command response time associated with the path,

wherein the power consumption is based on an amount of power consumed by an adapter, of the computing system, associated with the path; and

processing the I/O command on the selected path.

2 . The method of claim 1 , further comprising tracking, for a plurality of I/O commands and at each of the plurality of paths, the power consumption and the command response time.

3 . The method of claim 2 , further comprising ranking each of the plurality of paths based on the tracked power consumption and the tracked command response time associated with each path.

4 . The method of claim 3 , wherein selecting the path includes selecting a highest ranked path.

5 . The method of claim 3 , wherein a path of the plurality of paths is not ranked if the command response time associated with the path is greater than a threshold.

6 . The method of claim 3 , wherein a ranking of a path is increased based on a utilization rate of the path.

7 . The method of claim 3 , wherein the ranking is performed periodically.

8 . The method of claim 3 , wherein the ranking is performed for each received I/O command,

wherein ranking each of the plurality of paths comprises:

dynamically adjusting a ranking of the path based on changes to the command response time associated with the path,

wherein the changes are based on the path being selected for one or more I/O commands, and

wherein selecting the path comprises:

selecting the path based on a threshold of usage.

9 . A computing system comprising:

a processor;

memory; and

an input/output (I/O) controller for controlling I/O operations from the computing system, the I/O controller configured to:

receive an I/O command targeting a destination target;

select, from a plurality of paths to the destination target, a path based on power consumption and a command response time associated with the path,

wherein the power consumption is based on an amount of power consumed by an adapter, of the computing system, associated with the path; and

process the I/O command on the selected path.

10 . The computing system of claim 9 , further comprising tracking, for a plurality of I/O commands and at each of the plurality of paths, the power consumption and the command response time.

11 . The computing system of claim 10 , further comprising ranking each of the plurality of paths based on the tracked power consumption and the tracked command response time associated with each path.

12 . The computing system of claim 11 , wherein selecting the path includes selecting a highest ranked path.

13 . The computing system of claim 11 , wherein a path of the plurality of paths is not ranked if the command response time associated with the path is greater than a threshold.

14 . The computing system of claim 11 , wherein a ranking of a path is increased based on a utilization rate of the path.

15 . The computing system of claim 11 , wherein the tracked power consumption and the tracked command response time associated with each path are weighted differently during the ranking of each of the plurality of paths.

16 . The computing system of claim 15 , wherein a weight of the tracked power consumption and weight of the tracked command response time are each selectable by a user.

17 . A computer program product comprising a computer readable storage medium and computer program instructions stored therein that, when executed, are configured to:

receive an input/output (I/O) command targeting a destination target;

select, from a plurality of paths to the destination target, a path based on power consumption and a command response time associated with the path,

wherein the power consumption is based on an amount of power consumed by an adapter, of a computing system, associated with the path; and

process the I/O command on the selected path.

18 . The computer program product of claim 17 , further comprising tracking, for a plurality of I/O commands and at each of the plurality of paths, the power consumption and the command response time.

19 . The computer program product of claim 18 , further comprising ranking each of the plurality of paths based on the tracked power consumption and the tracked command response time associated with each path.

20 . The computer program product of claim 19 , wherein selecting the path includes selecting a highest ranked path.