Optimizing data location in data storage arrays
US-9459809-B1 · Oct 4, 2016 · US
US11070654B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11070654-B2 |
| Application number | US-201916592328-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 3, 2019 |
| Priority date | Oct 3, 2019 |
| Publication date | Jul 20, 2021 |
| Grant date | Jul 20, 2021 |
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.
A method is disclosed comprising: instantiating a first plurality of type-1 network sockets on a source computing system, each of the type-1 network sockets having a first queue depth; instantiating a second plurality of type-2 network sockets on the source computing system, each of the type-2 network sockets having a second queue depth that is greater than the first queue depth; transitioning the source computing system into a first state, the first state being one in which data replication messages are transmitted by the source computing system to a target computing system by using both the type-1 and type-2 network sockets; transitioning the source computing system from the first state into a second state, the second state being one in which data replication messages are transmitted by the source computing system to the target computing system by using the type-2 network sockets.
Opening claim text (preview).
The invention claimed is: 1. A method comprising: instantiating a first plurality of type-1 network sockets on a source computing system, each of the type-1 network sockets having a first queue depth; instantiating a second plurality of type-2 network sockets on the source computing system, each of the type-2 network sockets having a second queue depth that is greater than the first queue depth; transitioning the source computing system into a first state, the first state being one in which data replication messages are transmitted by the source computing system to a target computing system by using both the type-1 and type-2 network sockets; and transitioning the source computing system from the first state into a second state, the second state being one in which data replication messages are transmitted, by the source computing system to the target computing system, by using the type-2 network sockets, wherein the source computing system is transitioned from the first state to the second state in response to detecting a request to transmit a synchronous data replication message, wherein transitioning the source computing system from the first state into the second state includes modifying an active socket pool that is used for the transmission of data replication messages, such that, when the source computing system is in the second state, no type-1 network sockets are used, by the source computing system, for the transmission of data replication messages, and wherein the type-1 network sockets are dynamically added and removed from the active socket pool depending on a type of data replication that is performed by the source computing system. 2. The method of claim 1 , further comprising transitioning the source computing system from the second state back to the first state in response to detecting that a predetermined time period has passed since a last transmission of a synchronous data replication message. 3. The method of claim 1 , wherein: the data replication messages that are transmitted by the source computing system while the source computing system is in the first state include only asynchronous data replication messages, and the data replication messages that are transmitted by the source computing system while the source computing system is in the second state include both synchronous and asynchronous data replication messages. 4. The method of claim 1 , wherein modifying the active socket pool includes removing the first plurality of type-1 network sockets from the active socket pool. 5. The method of claim 1 , further comprising identifying an average latency requirement for synchronous data replication, wherein the second queue depth is selected based on the average latency requirement for synchronous data replication. 6. The method of claim 1 , wherein instantiating the second plurality of type-2 network sockets includes selecting the second queue depth based on the first queue depth. 7. The method of claim 1 , further comprising identifying an average latency of a flow control window, wherein the first plurality of type-1 network sockets is instantiated based on the average latency of the flow control window. 8. A system comprising: a memory; and at least one processor operatively coupled to the memory, the at least one processor being configured to perform the operations of: instantiating a first plurality of type-1 network sockets, each of the type-1 network sockets having a first queue depth; instantiating a second plurality of type-2 network sockets, each of the type-2 network sockets having a second queue depth that is greater than the first queue depth; transitioning the system into a first state, the first state being one in which data replication messages are transmitted by the at least one processor to another system by using both the type-1 and type-2 network sockets; and transitioning the system from the first state into a second state, the second state being one in which data replication messages are transmitted by the at least one processor to the other system by using only the type-2 network sockets, wherein the transition from the first state to the second state is performed in response to detecting a request to transmit a synchronous data replication message, wherein transitioning the system from the first state into the second state includes modifying an active socket pool that is used for the transmission of data replication messages, such that, when the system is in the second state, no type-1 network sockets are used, by the system, for the transmission of data replication messages, and wherein the type-1 network sockets are dynamically added and removed from the active socket pool depending on a type of data replication that is performed by the system. 9. The system of claim 8 , the at least one processor is further configured to perform the operation of transitioning the system from the second state back to the first state in response to detecting that a predetermined time period has passed since a last transmission of a synchronous data replication message. 10. The system of claim 8 , wherein: the data replication messages that are transmitted while the system is in the first state include only asynchronous data replication messages, and the data replication messages that are transmitted while the system is in the second state include both synchronous and asynchronous data replication messages. 11. The system of claim 8 , wherein modifying the active socket pool includes removing the first plurality of type-1 network sockets from the active socket pool. 12. The system of claim 8 , wherein the at least one processor is further configured to perform the operation of identifying an average latency requirement for synchronous data replication, and the second queue depth is selected based on the average latency requirement for synchronous data replication. 13. The system of claim 8 , wherein instantiating the second plurality of type-2 network sockets includes selecting the second queue depth based on the first queue depth. 14. The system of claim 8 , wherein the at least one processor is further configured to perform the operation of identifying an average latency of a flow control window, wherein the first plurality of type-1 network sockets is instantiated based on the average latency of the flow control window. 15. A non-transitory computer-readable medium storing one or more processor-executable instructions, which when executed by at least one processor of a system cause the at least one processor to perform the operations of: instantiating a first plurality of type-1 network sockets, each of the type-1 network sockets having a first queue depth; instantiating a second plurality of type-2 network sockets, each of the type-2 network sockets having a second queue depth that is greater than the first queue depth; transitioning the system into a first state, the first state being one in which data replication messages are transmitted by the at least one processor to another system by using both the type-1 and type-2 network sockets; and transitioning the system from the first state into a second state, the second state being one in which data replication messages are transmitted by the at least one processor to the other system by using only the type-2 network sockets, wherein the transition from the first state to the second state is performed in response to detecting a request to transmit a synchronous data replication message, wherein transitioning the system from the first state into the second state includes modifying an active socket pool that is us
Flow control; Congestion control · CPC title
involving adaptations of sockets based mechanisms (secure socket layer H04L63/168) · CPC title
Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title
in relation to timing considerations · CPC title
Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.