IP Library Granted Patent US 12,613,656
Granted Patent B1
US 12,613,656 · App. 18/931,242 · Granted Apr 28, 2026

Dynamic path selection based on scheduler's resource allocation domain (SRAD) of I/O buffers and adapters

Inventors: Ramesh Kumar Marupaka (Hyderabad, IN); Sanket Rathi (Hyderabad, IN); Nidhyanandhan Arumugam (Hyderabad, IN); Phani Kumar V. U. Ayyagari (Hyderabad, IN); Chaitanya Paturu (Hyderabad, IN)
Assignee: International Business Machines Corporation
G06F3/0656G06F3/061G06F3/0635G06F3/067
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 12,613,656
App. No.
18/931,242
Granted
Apr 28, 2026
Kind
B1
Abstract

Dynamic path selection based on SRAD of I/O buffers and adapters includes: receiving, by a driver, an allocation of an input/output (I/O) buffer for an I/O request targeting a storage device; selecting a path to the storage device for carrying out the I/O request based on a buffer SRAD associated with the I/O buffer; and sending the IO request via the selected path connected to the adapter belonging to same SRAD as I/O buffer.

Claims (58)

1 . A method for dynamic path selection based on Scheduler's Resource Allocation Domain (SRAD), the method comprising:

receiving, by a driver, an allocation of an input/output (I/O) buffer for an I/O request targeting a storage device;

selecting a path to the storage device for carrying out the I/O request based on a buffer SRAD associated with the I/O buffer; and

sending the I/O request via the selected path.

2 . The method of claim 1 , wherein selecting the path includes:

identifying the buffer SRAD associated with the I/O buffer responsive to receiving the V/O buffer; and

selecting, based on a determination that a potential path exists to an adapter having an adapter SRAD that matches the buffer SRAD, the potential path for carrying out the I/O request.

3 . The method of claim 1 , wherein selecting the path includes:

identifying the buffer SRAD associated with the I/O buffer responsive to receiving the I/O buffer; and

selecting, based on a determination that a potential path does not exist to an adapter having an adapter SRAD that matches the buffer SRAD, a second path to a second adapter having an adapter SRAD closest to the buffer SRAD.

4 . The method of claim 1 , further comprising:

determining, prior to sending the I/O request via the selected path, whether the selected path is overloaded; and

selecting, based on the selected path being overloaded, an alternative path for carrying out the I/O request.

5 . The method of claim 4 , wherein determining whether the selected path is overloaded includes comparing an I/O rate associated with the selected path with an I/O path threshold.

6 . The method of claim 4 , wherein selecting the alternative path for carrying out the I/O request includes:

identifying the buffer SRAD associated with the I/O buffer responsive to receiving the I/O buffer; and

selecting a second path to an adapter having an adapter SRAD closest to the buffer SRAD, wherein the second path is not overloaded.

7 . The method of claim 1 , wherein the buffer SRAD associated with the I/O buffer is identified using kernel services.

8 . A computer system for dynamic path selection based on Scheduler's Resource Allocation Domain (SRAD), the computer system comprising:

a processor set;

one or more computer-readable storage media; and

program instructions stored on the one or more computer-readable storage media configured to cause the processor set to perform operations comprising:

receiving, by a driver, an allocation of an input/output (I/O) buffer for an I/O request targeting a storage device;

selecting a path to the storage device for carrying out the I/O request based on a buffer SRAD associated with the I/O buffer; and

sending the I/O request via the selected path.

9 . The computer system of claim 8 , wherein selecting the path includes:

identifying the buffer SRAD associated with the I/O buffer responsive to receiving the I/O buffer; and

selecting, based on a determination that a potential path exists to an adapter having an adapter SRAD that matches the buffer SRAD, the potential path for carrying out the I/O request.

10 . The computer system of claim 8 , wherein selecting the path includes:

identifying the buffer SRAD associated with the I/O buffer responsive to receiving the I/O buffer; and

selecting, based on a determination that a potential path does not exist to an adapter having an adapter SRAD that matches the buffer SRAD, a second path to a second adapter having an adapter SRAD closest to the buffer SRAD.

11 . The computer system of claim 8 , wherein the operations further comprise:

determining, prior to sending the I/O request via the selected path, whether the selected path is overloaded; and

selecting, based on the selected path being overloaded, an alternative path for carrying out the I/O request.

12 . The computer system of claim 11 , wherein determining whether the selected path is overloaded includes comparing an I/O rate associated with the selected path with an I/O path threshold.

13 . The computer system of claim 11 , wherein selecting the alternative path for carrying out the I/O request includes:

identifying the buffer SRAD associated with the I/O buffer responsive to receiving the I/O buffer; and

selecting a second path to an adapter having an adapter SRAD closest to the buffer SRAD, wherein the second path is not overloaded.

14 . The computer system of claim 8 , wherein the buffer SRAD associated with the I/O buffer is identified using kernel services.

15 . A computer program product for dynamic path selection based on Scheduler's Resource Allocation Domain (SRAD), the computer program product comprising:

one or more computer-readable storage media; and

program instructions stored on the one or more computer-readable storage media configured to perform operations comprising:

receiving, by a driver, an allocation of an input/output (I/O) buffer for an I/O request targeting a storage device;

selecting a path to the storage device for carrying out the I/O request based on a buffer SRAD associated with the I/O buffer; and

sending the I/O request via the selected path.

16 . The computer program product of claim 15 , wherein selecting the path includes:

identifying the buffer SRAD associated with the I/O buffer responsive to receiving the I/O buffer; and

selecting, based on a determination that a potential path exists to an adapter having an adapter SRAD that matches the buffer SRAD, the potential path for carrying out the I/O request.

17 . The computer program product of claim 15 , wherein selecting the path includes:

identifying the buffer SRAD associated with the I/O buffer responsive to receiving the I/O buffer; and

selecting, based on a determination that a potential path does not exist to an adapter having an adapter SRAD that matches the buffer SRAD, a second path to a second adapter having an adapter SRAD closest to the buffer SRAD.

18 . The computer program product of claim 15 , wherein the operations further comprise:

determining, prior to sending the I/O request via the selected path, whether the selected path is overloaded; and

selecting, based on the selected path being overloaded, an alternative path for carrying out the I/O request.

19 . The computer program product of claim 18 , wherein determining whether the selected path is overloaded includes comparing an I/O rate associated with the selected path with an I/O path threshold.

20 . The computer program product of claim 18 , wherein selecting the alternative path for carrying out the I/O request includes:

identifying the buffer SRAD associated with the I/O buffer responsive to receiving the I/O buffer; and

selecting a second path to an adapter having an adapter SRAD closest to the buffer SRAD, wherein the second path is not overloaded.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2024
From: MARUPAKA, RAMESH KUMAR; RATHI, SANKET; ARUMUGAM, NIDHYANANDHAN; AYYAGARI, PHANI KUMAR V. U.; PATURU, CHAITANYA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 069069/0502 →
References Cited (12)
US 9606837B2 · Chen et al. · 2017 [cited by applicant]
US 10079729B2 · Beckman et al. · 2018 [cited by applicant]
US 10296389B2 · Chen · 2019 [cited by examiner]
US 10976934B2 · Kumar et al. · 2021 [cited by applicant]
US 11567669B1 · Charles et al. · 2023 [cited by applicant]
US 20040267980A1 · Mcbrearty et al. · 2004 [cited by applicant]
US 20170131938A1 · Kumar · 2017 [cited by examiner]
US 20170147224A1 · Kumar · 2017 [cited by examiner]
US 20200348869A1 · Gokam · 2020 [cited by examiner]
US 20210181947A1 · Patel et al. · 2021 [cited by applicant]
US 20210297363A1 · Charles · 2021 [cited by examiner]
US 20220229562A1 · Patel · 2022 [cited by examiner]