IP Library Granted Patent US 10,754,742
Granted Patent B2
US 10,754,742 · App. 16/246,686 · Granted Aug 25, 2020

Network failover handling in computing systems

Inventors: James Scott Cannata (Denver, CO); Jason Breakstone (Broomfield, CO); Christopher R. Long (Colorado Springs, CO)
Assignee: Liqid Inc.
G06F11/2053G06F3/0607G06F3/0635G06F3/0685G06F11/2007G06F11/2012G06F11/2017G06F11/2028G06F11/2038G06F11/2046G06F11/2069G06F13/4022G06F13/4068G06F13/4234G06F13/4282H04L41/0893H04L49/356H04L67/1097H04L69/40G06F2201/85G06F2213/0026
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,754,742
App. No.
16/246,686
Granted
Aug 25, 2020
Kind
B2
Abstract

Systems, methods, apparatuses, and software for computing systems are provided herein. In one example, a computing system includes a first processor configured to establish a network connection with a target system, and transfer to a second processor information describing the network connection comprising a network address and a network port. The computing system includes the second processor configured to identify when the first processor has failed, and responsively inherit the network connection with the target system based at least on the information describing the network connection and packet sequence information received from the target system to resume packet acknowledge or sequence counts established between the first processor and the target system.

Claims (41)

1. A computing system, comprising:

a first processor configured to establish a network connection with a target system, and transfer to a second processor information describing the network connection comprising a network address and a network port; and

the second processor configured to identify when the first processor has failed, and responsively inherit the network connection with the target system based at least on the information describing the network connection and packet sequence information received from the target system to resume packet acknowledge or sequence counts established between the first processor and the target system.

2. The computing system of claim 1 , comprising:

the second processor configured to establish an inactive network connection for the target system based on the information describing the network connection; and

responsive to identifying when the first processor has failed, the second processor configured to activate the network connection with the target system.

3. The computing system of claim 1 , comprising:

the second processor configured to determine the packet sequence information by at least transferring a probe packet comprising incorrect counts in acknowledge and sequence portions of a transmission control protocol (TCP) header of the probe packet for delivery to the target system and receiving correct acknowledge or sequence counts included in a response to the probe packet transferred by the target system.

4. The computing system of claim 3 , comprising:

the second processor configured to splice the packet sequence information into a connection state for the network connection to resume the packet acknowledge or sequence counts established between the first processor and the target system.

5. The computing system of claim 1 , comprising:

the second processor configured to activate the network connection with the target system by at least associating a network address of the second processor with a media access control (MAC) address used by the first processor.

6. The computing system of claim 5 , comprising:

the second processor configured to transfer an ARP message on a subnet associated with the second processor to associate a network address of the second processor with the MAC address.

7. The computing system of claim 1 , wherein the information describing the network connection comprises a network address and a network port associated with the first processor and a network address and a network port associated with the target system.

8. The computing system of claim 1 , comprising:

the second processor configured to initiate a reboot of the first processor, detect when the first processor functions after the reboot, and initiate transfer of the network connection back to the first processor.

9. The computing system of claim 1 , wherein the network connection comprises an iSCSI (Internet Small Computer System Interface) network connection for iSCSI storage operations.

10. A method of operating a computing system, the method comprising:

in a first processor, establishing a network connection with a target system, and transferring to a second processor information describing the network connection comprising at least a network address and a network port; and

in the second processor, identifying when the first processor has failed, and responsively inheriting the network connection with the target system based at least on the information describing the network connection and packet sequence information received from the target system to resume packet acknowledge or sequence counts established between the first processor and the target system.

11. The method of claim 10 , further comprising:

in the second processor, establishing an inactive network connection for the target system based on the information describing the network connection, and responsive to identifying when the first processor has failed, activating the network connection with the target system.

12. The method of claim 10 , further comprising:

in the second processor, determining the packet sequence information by at least transferring a probe packet comprising incorrect counts in acknowledge and sequence portions of a transmission control protocol (TCP) header of the probe packet for delivery to the target system and receiving correct acknowledge or sequence counts included in a response to the probe packet transferred by the target system.

13. The method of claim 12 , further comprising:

in the second processor splicing the packet sequence information into a connection state for the network connection to resume the packet acknowledge or sequence counts established between the first processor and the target system.

14. The method of claim 10 , further comprising:

in the second processor, activating the network connection with the target system by at least associating a network address of the second processor with a media access control (MAC) address used by the first processor.

15. The method of claim 14 , further comprising:

in the second processor, transferring an ARP message on a subnet associated with the second processor to associate a network address of the second processor with the MAC address.

16. The method of claim 10 , wherein the information describing the network connection comprises a network address and a network port associated with the first processor and a network address and a network port associated with the target system.

17. The method of claim 10 , in the second processor, initiating a reboot of the first processor;

wherein the first processor inherits the network connection from the second processor after functioning from the reboot.

18. The method of claim 10 , wherein the network connection comprises an iSCSI (Internet Small Computer System Interface) network connection for iSCSI storage operations.

19. A system, comprising:

a first node comprising a first processor and configured to establish a network connection with a target node, and transfer to a second node information describing the network connection comprising a network address and a network port; and

the second node comprising a second processor and configured to identify when the first node has failed, and responsively inherit the network connection with the target node based at least on the information describing the network connection and packet sequence information received from the target node to resume packet acknowledge or sequence counts established between the first node and the target node.

20. The system of claim 19 , comprising:

the second node configured to determine the packet sequence information by at least transferring a probe packet comprising incorrect counts in acknowledge and sequence portions of a transmission control protocol (TCP) header of the probe packet for delivery to the target node and receiving correct acknowledge or sequence counts included in a response to the probe packet transferred by the target node; and

the second node configured to splice the packet sequence information into a connection state for the network connection to resume the packet acknowledge or sequence counts established between the first node and the target node.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Apr 16, 2021
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: LIQID INC.
Reel/Frame 055953/0860 →
SECURITY INTEREST Recorded Jan 5, 2021
From: LIQID INC.
To: HORIZON TECHNOLOGY FINANCE CORPORATION
Reel/Frame 054900/0539 →
SECURITY INTEREST Recorded Oct 3, 2019
From: LIQID INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 050630/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2019
From: CANNATA, JAMES SCOTT; BREAKSTONE, JASON; LONG, CHRISTOPHER R.
To: LIQID INC.
Reel/Frame 047986/0384 →
Continuity (13)
Continuation 14747476 · Jun 23, 2015
Provisional Application 62018090 · Jun 27, 2014
Provisional Application 62015990 · Jun 23, 2014
Provisional Application 62015977 · Jun 23, 2014
Provisional Application 62015967 · Jun 23, 2014
Provisional Application 62015947 · Jun 23, 2014
Provisional Application 62015942 · Jun 23, 2014
Provisional Application 62015939 · Jun 23, 2014
Provisional Application 62015936 · Jun 23, 2014
Provisional Application 62015931 · Jun 23, 2014
Provisional Application 62015927 · Jun 23, 2014
Provisional Application 62015910 · Jun 23, 2014
Related Publication 20190146889A1 · May 16, 2019