US2018145894A1PendingUtilityA1

Handling path issues for storage copy services

Assignee: IBMPriority: Oct 27, 2016Filed: Feb 9, 2018Published: May 24, 2018
Est. expiryOct 27, 2036(~10.3 yrs left)· nominal 20-yr term from priority
Inventors:Xue Qiang Zhou
H04L 45/121H04L 45/70G06F 13/20H04L 43/0858H04L 43/16H04L 41/12H04L 43/0817H04L 47/34H04L 45/22
56
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method for determining path health to conduct a plurality of Input-Output (IO) operations along a healthy path in a network is provided. The present invention may include receiving an IO request from a user and sending the received IO request on a first path. The present invention may include determining a first IO response has exceeded a threshold time on the first path. The present invention may include determining the first path has degraded based on the exceeded threshold time. The present invention may include generating a duplicate IO request and sending on a second path. The present invention may include receiving the duplicated IO response before receiving the original IO response. The present invention may include determining a health state associated with the slower path. The present invention may include refreshing a path state machine based on the determined health state associated with the slow path.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method for determining path health to conduct a plurality of Input-Output (IO) operations along a path in a network, the method comprising:
 receiving an original IO request from a user;   generating a unique sequence number for the received original IO request at a primary site;   assigning the generated unique sequence number to the received original IO request;   sending the received original IO request on a first path from the primary site to a secondary site;   determining a first IO response associated with the sent original IO request has exceeded a threshold time on the first path between the primary site and the secondary site, wherein the exceeded threshold time indicates the first path has degraded between the primary site and the secondary site;   generating a duplicate IO request based on the received original IO request;   assigning the generated unique sequence number to the generated duplicate IO request;   determining that a first sequence number associated with the first IO response and a second sequence number associated with the second IO response matches the generated unique sequence number;   sending the generated duplicate IO request on a second path;   receiving a second IO response associated with the sent duplicate IO request on the second path;   receiving the first IO response associated with the original IO request on the first path;   determining that the first IO response was received on the first path after the second IO response was received on the second path;   determining a health state associated with the first path based on determining that the first IO response was received on the first path after the second IO response was received on the second path, wherein the health state is associated with a path health state, wherein the path health state is operating as a good path, a degraded path or a suspended path;   comparing a first latency of the first IO response with a second latency of the second IO response, wherein a first latency value indicates a first time stamped value associated with the original IO request compared to a second time stamped value associated with the first IO response, wherein a second latency value indicates the first time stamped value associated with the original IO request compared to a third time stamped value associated with the second IO response;   calculating an exponential moving average (EMA) time difference between the second IO response and the first IO response based on comparing the first latency value with the second latency value, wherein the EMA is calculated based on a latency index, wherein the latency index is calculated by LatencyIndex=latency_on_degrade_path/latency_on_good_path, wherein the latency_on_degrade_path is associated with the first path, wherein the latency on good path is associated with the second path;   determining that the calculated EMA has exceeded an EMA threshold, wherein the EMA is calculated by EMA new =α*Latencylndex new +(1-α)*EMA now , wherein α=2/(N+1), wherein N represents a count of IO operations that are monitored before determining to adjust the health state associated with the first path;   adjusting the health state indicated by the path state machine from a good path state to a degraded path state based on determining that the calculated EMA has exceeded the EMA threshold; and   refreshing a path state machine based on the determined health state associated with the first path, wherein the path state machine is a first path state machine associated with the first path, wherein a second path state machine is associated with the second path.

Join the waitlist — get patent alerts

Track US2018145894A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.