IP Library › Granted Patent US 10,223,220
Granted Patent B2
US 10,223,220 · App. 15/292,701 · Granted Mar 5, 2019

Processing a health condition message on a health condition to determine whether to perform a swap operation

Inventors: Clint A. Hardy (Tucson, AZ); Matthew J. Kalos (Tucson, AZ)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/2033G06F11/0727G06F11/0757G06F11/16G06F11/2007G06F2201/85
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 10,223,220
App. No.
15/292,701
Granted
Mar 5, 2019
Kind
B2
Abstract

Provided are a computer program product, system, and method for processing a health condition message on a health condition to determine whether to perform a swap operation. A health condition message is received from a first server indicating an estimated Input/Output (I/O) delay to access a first storage resulting from a health condition experienced at the first server. A determination is made as to whether the estimated I/O delay exceeds a threshold response time for the first storage. A swap operation is performed to redirect I/O requests to data from the first server to the second server to access the data at the second storage in response to determining that the estimated I/O delay exceeds the threshold response time.

Claims (59)

1. A computer program product for processing a health condition message from a first server managing access to a first storage, wherein a second server manages access to a second storage, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that is executable to perform operations, the operations comprising:

receiving from the first server a health condition message indicating an estimated Input/Output (I/O) delay to access the first storage resulting from a health condition experienced at the first server;

determining whether the estimated I/O delay exceeds a threshold response time for the first storage, wherein the threshold response time is based on a latency requirement to access data; and

performing a swap operation to redirect I/O requests to data from the first server to the second server to access the data at the second storage in response to determining that the estimated I/O delay exceeds the threshold response time, wherein a swap operation is not performed in response to determining that the estimated I/O delay in the health condition message does not exceed the threshold response time for the first storage.

2. The computer program product of claim 1 , wherein the health condition message includes a flag indicating whether the health condition message includes an estimated I/O delay, wherein the determining whether the estimated I/O delay exceeds the threshold response time is performed in response to determining that the flag indicating whether the estimated I/O delay is included in the health condition message.

3. The computer program product of claim 2 , wherein the health condition message further includes a health status indicating one of a plurality of health status levels, wherein the operations further comprise:

determining whether the health status indicates to perform the swap operation in response to determining that the flag indicates that the health condition message does not include the estimated I/O delay; and

performing the swap operation in response to determining that the health status indicates to perform the swap operation.

4. The computer program product of claim 1 , wherein the health condition message indicates a volume that is expected to experience the estimated I/O delay, wherein the operations further comprise:

maintaining a data structure indicating for each of a plurality of volumes a threshold response time, wherein different threshold response times are provided for at least two of the volumes indicated in the data structure; and

determining from the data structure the threshold response time for the volume indicated in the health condition message.

5. The computer program product of claim 4 , wherein the volume indicated in the health condition message comprises a first volume, wherein the swap operation is performed with respect to the first volume indicated in the health condition message to direct I/O requests for the first volume indicated to the second server, wherein prior to receiving the health condition message, I/O requests for a second volume not indicated in the health condition message are directed to the first server, wherein I/O requests to the second volume continue to be directed to the first server after completing processing the health condition message and while I/O requests are being redirected to the second server.

6. The computer program product of claim 1 , wherein the estimated I/O delay indicates a maximum expected I/O disruption time and a median or average expected I/O delay, wherein determining whether the estimated I/O delay exceeds the threshold response time comprises determining whether the maximum expected I/O disruption time exceeds the threshold response time.

7. The computer program product of claim 6 , wherein the operations further comprise:

determining whether the median or average expected I/O delay exceeds an average threshold response time, wherein the swap operation is performed in response to determining that both the estimated I/O delay exceeds the threshold response time and the median or average expected I/O delay exceeds the average threshold response time.

8. A system for processing a health condition message from a first server managing access to a first storage, wherein a second server manages access to a second storage, comprising:

a processor; and

a computer readable storage medium having computer readable program code executed by the processor to perform operations, the operations comprising:

receiving from the first server a health condition message indicating an estimated Input/Output (I/O) delay to access the first storage resulting from a health condition experienced at the first server;

determining whether the estimated I/O delay exceeds a threshold response time for the first storage, wherein the threshold response time is based on a latency requirement to access data; and

performing a swap operation to redirect I/O requests to data from the first server to the second server to access the data at the second storage in response to determining that the estimated I/O delay exceeds the threshold response time, wherein a swap operation is not performed in response to determining that the estimated I/O delay in the health condition message does not exceed the threshold response time for the first storage.

9. The system of claim 8 , wherein the health condition message includes a flag indicating whether the health condition message includes an estimated I/O delay, wherein the determining whether the estimated I/O delay exceeds the threshold response time is performed in response to determining that the flag indicating whether the estimated I/O delay is included in the health condition message.

10. The system of claim 9 , wherein the health condition message further includes a health status indicating one of a plurality of health status levels, wherein the operations further comprise:

determining whether the health status indicates to perform the swap operation in response to determining that the flag indicates that the health condition message does not include the estimated I/O delay; and

performing the swap operation in response to determining that the health status indicates to perform the swap operation.

11. The system of claim 8 , wherein the health condition message indicates a volume that is expected to experience the estimated I/O delay, wherein the operations further comprise:

maintaining a data structure indicating for each of a plurality of volumes a threshold response time, wherein different threshold response times are provided for at least two of the volumes indicated in the data structure; and

determining from the data structure the threshold response time for the volume indicated in the health condition message.

12. The system of claim 11 , wherein the volume indicated in the health condition message comprises a first volume, wherein the swap operation is performed with respect to the first volume indicated in the health condition message to direct I/O requests for the first volume indicated to the second server, wherein prior to receiving the health condition message, I/O requests for a second volume not indicated in the health condition message are directed to the first server, wherein I/O requests to the second volume continue to be directed to the first server after completing processing the health condition message and while I/O requests are being redirected to the second server.

13. The system of claim 8 , wherein the estimated I/O delay indicates a maximum expected I/O disruption time and a median or average expected I/O delay, wherein determining whether the estimated I/O delay exceeds the threshold response time comprises determining whether the maximum expected I/O disruption time exceeds the threshold response time.

14. The system of claim 13 , wherein the operations further comprise:

determining whether the median or average expected I/O delay exceeds an average threshold response time, wherein the swap operation is performed in response to determining that both the estimated I/O delay exceeds the threshold response time and the median or average expected I/O delay exceeds the average threshold response time.

15. A method for processing a health condition message from a first server managing access to a first storage, wherein a second server manages access to a second storage, comprising:

receiving from the first server a health condition message indicating an estimated Input/Output (I/O) delay to access the first storage resulting from a health condition experienced at the first server;

determining whether the estimated I/O delay exceeds a threshold response time for the first storage, wherein the threshold response time is based on a latency requirement to access data; and

performing a swap operation to redirect I/O requests to data from the first server to the second server to access the data at the second storage in response to determining that the estimated I/O delay exceeds the threshold response time, wherein a swap operation is not performed in response to determining that the estimated I/O delay in the health condition message does not exceed the threshold response time for the first storage.

16. The method of claim 15 , wherein the health condition message includes a flag indicating whether the health condition message includes an estimated I/O delay, wherein the determining whether the estimated I/O delay exceeds the threshold response time is performed in response to determining that the flag indicating whether the estimated I/O delay is included in the health condition message.

17. The method of claim 16 , wherein the health condition message further includes a health status indicating one of a plurality of health status levels, further comprising:

determining whether the health status indicates to perform the swap operation in response to determining that the flag indicates that the health condition message does not include the estimated I/O delay; and

performing the swap operation in response to determining that the health status indicates to perform the swap operation.

18. The method of claim 15 , wherein the health condition message indicates a volume that is expected to experience the estimated I/O delay, further comprising:

maintaining a data structure indicating for each of a plurality of volumes a threshold response time, wherein different threshold response times are provided for at least two of the volumes indicated in the data structure; and

determining from the data structure the threshold response time for the volume indicated in the health condition message.

19. The method of claim 18 , wherein the volume indicated in the health condition message comprises a first volume, wherein the swap operation is performed with respect to the first volume indicated in the health condition message to direct I/O requests for the first volume indicated to the second server, wherein prior to receiving the health condition message, I/O requests for a second volume not indicated in the health condition message are directed to the first server, wherein I/O requests to the second volume continue to be directed to the first server after completing processing the health condition message and while I/O requests are being redirected to the second server.

20. The method of claim 15 , wherein the estimated I/O delay indicates a maximum expected I/O disruption time and a median or average expected I/O delay, wherein determining whether the estimated I/O delay exceeds the threshold response time comprises determining whether the maximum expected I/O disruption time exceeds the threshold response time.

21. The method of claim 20 , further comprising:

determining whether the median or average expected I/O delay exceeds an average threshold response time, wherein the swap operation is performed in response to determining that both the estimated I/O delay exceeds the threshold response time and the median or average expected I/O delay exceeds the average threshold response time.

22. A storage environment, comprising:

a first server managing access to a first storage;

a second server managing access to a second storage;

a host system in communication with the first server and the second server, having a computer readable storage medium having computer readable program code that when executed performs operations, the operations comprising:

receiving from the first server a health condition message indicating an estimated Input/Output (I/O) delay to access the first storage resulting from a health condition experienced at the first server;

determining whether the estimated I/O delay exceeds a threshold response time for the first storage, wherein the threshold response time is based on a latency requirement to access data; and

performing a swap operation to redirect I/O requests to data from the first server to the second server to access the data at the second storage in response to determining that the estimated I/O delay exceeds the threshold response time, wherein a swap operation is not performed in response to determining that the estimated I/O delay in the health condition message does not exceed the threshold response time for the first storage.

23. The storage environment of claim 22 , wherein the health condition message includes a flag indicating whether the health condition message includes an estimated I/O delay, wherein the determining whether the estimated I/O delay exceeds the threshold response time is performed in response to determining that the flag indicating whether the estimated I/O delay is included in the health condition message.

24. The storage environment of claim 23 , wherein the health condition message further includes a health status indicating one of a plurality of health status levels, wherein the operations further comprise:

determining whether the health status indicates to perform the swap operation in response to determining that the flag indicates that the health condition message does not include the estimated I/O delay; and

performing the swap operation in response to determining that the health status indicates to perform the swap operation.

25. The storage environment of claim 22 , wherein the first server maintains a data structure indicating, for each of a plurality of health conditions, an estimated I/O delay, wherein the estimated I/O delay the first server includes in the health condition message comprises the estimated I/O delay indicated in the data structure for a health condition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2016
From: HARDY, CLINT A.; KALOS, MATTHEW J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040010/0154 →
Continuity (1)
Related Publication 20180107570A1 · Apr 19, 2018