Latency-aware load balancer for topology-shifting software defined networks
US-2022368646-A1 · Nov 17, 2022 · US
US12530120B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12530120-B2 |
| Application number | US-202318230265-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 4, 2023 |
| Priority date | Aug 4, 2023 |
| Publication date | Jan 20, 2026 |
| Grant date | Jan 20, 2026 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
One or more aspects of the present disclosure relate to maximizing data migration bandwidth. In embodiments, one or more network characteristics corresponding to network communications between a first storage array and a second storage array is determined. Further, one or more network metrics of at least one acknowledgment communication from the second storage array to the first storage array can be analyzed. Additionally, one or more input/output (IO) messages are transmitted from the first storage array to the local storage array during an acknowledgment period corresponding to receipt of the at least one acknowledgment communication from the second storage array by the first storage array based on the one or more network metrics.
Opening claim text (preview).
What is claimed is: 1 . A method comprising: determining one or more network characteristics corresponding to network communications between a first storage array and a second storage array; analyzing one or more network metrics of at least one acknowledgment communication from the second storage array to the first storage array; and based on the one or more network metrics, transmitting one or more input/output (IO) messages from the first storage array to the second storage array during an acknowledgment period corresponding to receipt of the at least one acknowledgment communication from the second storage array by the first storage array, wherein the transmitting utilizes available bandwidth capacity of a communication channel between the first storage array and the second storage array during the acknowledgment period that would otherwise remain unused while awaiting the at least one acknowledgment communication, wherein the transmitting includes: monitoring bandwidth utilization of the communication channel during the acknowledgment period, identifying unused bandwidth capacity that remains available while waiting for acknowledgment communications, and dynamically generating and transmitting additional IO messages specifically sized to utilize the identified unused bandwidth capacity without interfering with acknowledgment communications. 2 . The method of claim 1 , further comprising: determining a bandwidth corresponding to the one or more network characteristics of the network communications between the first storage array and the second storage array. 3 . The method of claim 1 , further comprising: determining a latency corresponding to the one or more network characteristics of the network communications between the first storage array and the second storage array. 4 . The method of claim 3 , further comprising: determining an impact of network distance between the first storage array and the second storage array on the latency. 5 . The method of claim 4 , further comprising: determining the network distance between the first storage array and the second storage array based on a round-trip time (RTT) of the one or more IO messages. 6 . The method of claim 2 , further comprising: predicting a utilization of the bandwidth during a future acknowledgment period; and determining an available bandwidth capacity during the future acknowledgment period based on the utilization of the bandwidth. 7 . The method of claim 6 , further comprising: generating a set of IO messages to fill a portion of the available bandwidth capacity during the future acknowledgment period; and transmitting the set of IO messages from the first storage array to the second storage array during the future acknowledgment period. 8 . An apparatus with a memory and processor, the apparatus configured to: determine one or more network characteristics corresponding to network communications between a first storage array and a second storage array; analyze one or more network metrics of at least one acknowledgment communication from the second storage array to the first storage array; and based on the one or more network metrics, transmit one or more input/output (IO) messages from the first storage array to the second storage array during an acknowledgment period corresponding to receipt of the at least one acknowledgment communication from the second storage array by the first storage array, wherein the transmitting utilizes available bandwidth capacity of a communication channel between the first storage array and the second storage array during the acknowledgment period that would otherwise remain unused while awaiting the at least one acknowledgment communication, wherein the transmitting includes: monitoring bandwidth utilization of the communication channel during the acknowledgment period, identifying unused bandwidth capacity that remains available while waiting for acknowledgment communications, and dynamically generating and transmitting additional IO messages specifically sized to utilize the identified unused bandwidth capacity without interfering with acknowledgment communications. 9 . The apparatus of claim 8 , further configured to: determining a bandwidth corresponding to the one or more network characteristics of the network communications between the first storage array and the second storage array. 10 . The apparatus of claim 8 , further configured to: determining a latency corresponding to the one or more network characteristics of the network communications between the first storage array and the second storage array. 11 . The apparatus of claim 10 , further configured to: determining an impact of network distance between the first storage array and the second storage array on the latency. 12 . The apparatus of claim 11 , further configured to: determining the network distance between the first storage array and the second storage array based on a round-trip time (RTT) of the one or more IO messages. 13 . The apparatus of claim 9 , further configured to: predicting a utilization of the bandwidth during a future acknowledgment period; and determining an available bandwidth capacity during the future acknowledgment period based on the utilization of the bandwidth. 14 . The apparatus of claim 13 , further configured to: generating a set of IO messages to fill a portion of the available bandwidth capacity during the future acknowledgment period; and transmitting the set of IO messages from the first storage array to the second storage array during the future acknowledgment period. 15 . A non-transitory computer-readable medium including instructions that, when executed by a processor, causes the processor to: determine one or more network characteristics corresponding to network communications between a first storage array and a second storage array; analyze one or more network metrics of at least one acknowledgment communication from the second storage array to the first storage array; and based on the one or more network metrics, transmit one or more input/output (IO) messages from the first storage array to the second storage array during an acknowledgment period corresponding to receipt of the at least one acknowledgment communication from the second storage array by the first storage array, wherein the transmitting utilizes available bandwidth capacity of a communication channel between the first storage array and the second storage array during the acknowledgment period that would otherwise remain unused while awaiting the at least one acknowledgment communication, wherein the transmitting includes: monitoring bandwidth utilization of the communication channel during the acknowledgment period, identifying unused bandwidth capacity that remains available while waiting for acknowledgment communications, and dynamically generating and transmitting additional IO messages specifically sized to utilize the identified unused bandwidth capacity without interfering with acknowledgment communications. 16 . The non-transitory computer-readable medium claim 15 , further including instructions that, when executed by the processor, cause the processor to: determining a bandwidth corresponding to the one or more network characteristics of the network communications between the first storage array and the second storage array. 17 . The non-transitory computer-readable medium claim 15 , further including instructions that, when executed by the processor, cause the processor to: determining a latency co
Migration mechanisms · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Improving I/O performance · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Monitoring storage devices or systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.