IP Library Granted Patent US 12669934
Granted Patent B2
US 12669934 · App. 18/539,794 · Granted Jun 30, 2026

Apparatus, systems and methods for providing input/output (IO) request rerouting

Inventors: Tabor R. Powelson (Poughkeepsie, NY); Andrew C. M. Hicks (Highland, NY); Ryan Thomas Rawlins (New Paltz, NY); Pasquale A. Catalano (Wallkill, NY)
Assignee: International Business Machines Corporation
G06F3/061G06F3/0635G06F3/0679
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 12669934
App. No.
18/539,794
Granted
Jun 30, 2026
Kind
B2
Abstract

Methods, apparatus and systems receive an IO reroute request for a first system to reroute an IO request with a target storage device that is disconnected from the first system and provides proxy communication of the IO request with the target storage device on behalf of the first system based on the received IO reroute request, using at least a second system that is connected to the same target storage device.

Claims (64)

1 . A method comprising:

receiving, by a coupling facility included in a computing cluster that includes a plurality of systems, an input/output (IO) reroute request for a first system of the plurality of systems to reroute an IO request with a target storage device that is disconnected from the first system,

wherein a second system, of the plurality of systems, is connected to the target storage device, and

wherein the first system and the second system register with the coupling facility to serve as proxies for the plurality of systems; and

providing, by the coupling facility, proxy communication of the IO request with the target storage device on behalf of the first system based on the received IO reroute request, using at least the second system,

wherein the proxy communication is provided based on the first system and the second system registering to serve as proxies for the plurality of systems.

2 . The method of claim 1 , comprising:

in response to the IO request, detecting a channel disconnection of the first system with the target storage device;

generating the IO reroute request based on the IO request, in response to the detected channel disconnection; and

sending the IO reroute request.

3 . The method of claim 1 , wherein providing proxy communication comprises:

providing, in response to the IO reroute request, IO request rerouting data for the second system that includes data representing a destination identifier for the target storage device; and

further comprising issuing an IO reroute complete message for the first system in response to the second system completing access with the target storage device through a channel associated with the second system.

4 . The method of claim 1 , comprising:

tracking when the second system has agreed to act as a proxy system for the first system and tracking when the second system has completed rerouting of the IO request with the target storage device on behalf of the first system.

5 . The method of claim 3 , comprising:

providing the IO request rerouting data as an accessible data structure to the second system when the IO request rerouting data is updated.

6 . The method of claim 5 , comprising:

for the IO reroute request, providing the accessible data structure with data representing a destination identifier for the target storage device, a read or a write operation for the target storage device, and an originating system identifier for the first system.

7 . The method of claim 5 , comprising:

accessing, by the second system, the IO request rerouting data in response to the second system having a channel connected with a target storage device identified by the destination identifier;

rerouting the IO request, by the second system as a proxy system for the first system, to the target storage device; and

generating a message for a coupling facility indicating that the rerouted IO request has been completed.

8 . A system comprising:

a first system, in a computing cluster that includes a plurality of systems, executing a first instance of an operating system;

a second system, in the computing cluster, executing a second instance of the operating system; and

a coupling facility, in the computing cluster, operatively coupled to at least the first system and the second system, the coupling facility configured to:

receive an input/output (IO) reroute request for the first system to reroute an IO request with a target storage device that is disconnected from the first system,

wherein the first system and the second system register with the coupling facility to serve as proxies for the plurality of systems; and

provide proxy communication of the IO request with the target storage device on behalf of the first system based on the received IO reroute request, using at least the second system that is connected to the target storage device,

wherein the proxy communication is provided based on the first system and the second system registering to serve as proxies for the plurality of systems.

9 . The system of claim 8 , wherein the coupling facility is configured to route the IO request to the second system providing the second system to send the IO request to the target storage device on behalf of the first system, wherein the coupling facility is included within a logical partition (LPAR).

10 . The system of claim 8 , wherein the first system is configured to:

in response to an IO data access request, detect a channel disconnection with the target storage device;

generate the IO reroute request based on the IO data access request, in response to the detected channel disconnection; and

send the IO reroute request to the coupling facility.

11 . The system of claim 8 , wherein the coupling facility is configured to:

provide proxy communication by providing, in response to the IO reroute request, IO request rerouting data for the second system that includes data representing a destination identifier for the target storage device; and

issue an IO reroute complete message for the first system in response to the second system completing access with the target storage device through a channel associated with the second system.

12 . The system of claim 8 , wherein the coupling facility is configured to:

provide the IO request rerouting data as an accessible data structure to the second system and wherein the IO request rerouting data comprises data representing a destination identifier for the target storage device, a read or a write operation for the target storage device, and an originating system identifier for the first system.

13 . The system of claim 12 , wherein the second system is configured to:

access the IO request rerouting data in response to having a channel connected with a target storage device identified by the destination identifier;

reroute the IO request to the target storage device using the channel; and

generate a message for the coupling facility indicating that the rerouted IO request has completed.

14 . The system of claim 8 , comprising the first system and the second system operating as a parallel sysplex.

15 . An apparatus comprising:

a processing device in a computing cluster that includes a plurality of systems; and

memory operatively coupled to the processing device, wherein the memory stores computer program instructions that, when executed, provide the processing device to:

receive an input/output (IO) reroute request for a first system of the plurality of systems to reroute an IO request with a target storage device that is disconnected from the first system,

wherein a second system, of the plurality of systems, is connected to the target storage device, and

wherein the first system and the second system register with the coupling facility to serve as proxies for the plurality of systems; and

provide proxy communication of the IO request with the target storage device on behalf of the first system based on the received IO reroute request, using at least the second system,

wherein the proxy communication is provided based on the first system and the second system registering to serve as proxies for the plurality of systems.

16 . The apparatus of claim 15 wherein the memory stores computer program instructions that, when executed, provide the processing device to:

in response to an IO data access request, detect a channel disconnection of the first system with the target storage device;

generate an IO request reroute message based on the IO data access request, in response to the detected channel disconnection; and

send the IO request reroute message as the request.

17 . The apparatus of claim 15 wherein the memory stores computer program instructions that, when executed, provide the processing device to:

provide IO request rerouting data for the second system that includes data representing a destination identifier for the target storage device; and

issuing an IO reroute complete message for the first system in response to the second system completing access with the target storage device through a channel associated with the second system.

18 . The apparatus of claim 15 wherein the memory stores computer program instructions that, when executed, provide the processing device to track when the second system has agreed to act as a proxy system for the first system and to track when the second system has completed rerouting of the IO request with the target storage device on behalf of the first system.

19 . The apparatus of claim 17 wherein the memory stores computer program instructions that, when executed, provide the processing device to serve as a coupling facility that is operatively couplable to the first system and to the second system and provides the IO request rerouting data as an accessible data structure to the second system and provides a notification for the second system when the IO request rerouting data is updated.

20 . The apparatus of claim 19 wherein the memory stores computer program instructions that, when executed, provide the processing device to provide the accessible data structure comprising data representing a destination identifier for the target storage device, a read or a write operation for the target storage device, and an originating system identifier for the first system.