IP Library Granted Patent US 9,948,545
Granted Patent B2
US 9,948,545 · App. 14/891,923 · Granted Apr 17, 2018

Apparatus and method for failover of device interconnect using remote memory access with segmented queue

Inventors: Tudor Morosan (Toronto, CA); Gregory Arthur Allen (Oakville, CA)
Assignee: TSX INC.
H04L45/22H04L69/14H04L69/40
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 9,948,545
App. No.
14/891,923
Granted
Apr 17, 2018
Kind
B2
Abstract

A first remote memory access link is established between a first communications interface card on the first computing device and a second communications interface card on the second computing device. In response to an error associated with the first remote memory access link, messages are copied from a segmented queue associated with the first communications interface card to a segmented queue associated with a third communications interface card on the first computing device. A second remote memory access link between the third communications interface card and a fourth communications interface card is activated on the second computing device, and messages are resent from the segmented queue associated with the third communications interface card to the fourth communications interface card through the second remote memory access link. The second computing device discards duplicate received messages, if any.

Claims (40)

1. A method of device interconnect failover between a first computing device and a second computing device, the method comprising:

establishing a first remote memory access link between a first communications interface card on the first computing device and a second communications interface card on the second computing device; and

detecting an error associated with the first remote memory access link, and in response to the error:

copying all messages from a primary segmented queue associated with the first communications interface card to a backup segmented queue associated with a third communications interface card on the first computing device, wherein each message includes a request for processing an order by the first computing device;

activating a second remote memory access link between the third communications interface card and a fourth communications interface card on the second computing device;

resending messages from the backup segmented queue associated with the third communications interface card to the fourth communications interface card through the second remote memory access link; and

the second computing device discarding duplicate received messages, if any.

2. The method of claim 1 , wherein resending comprises resending messages of a current segment of the backup segmented queue associated with the third communications interface card on the first computing device, the current segment being a segment containing a write pointer.

3. The method of claim 1 , wherein the error comprises an error event in the first communications interface card.

4. The method of claim 1 , wherein the error comprises a checksum error.

5. The method of claim 1 , wherein the error comprises a physical disruption of the first remote memory access link.

6. The method of claim 1 , wherein the error comprises failure to receive a message within a predetermined period of time.

7. The method of claim 1 , wherein the error comprises determining that a tail pointer of the primary segmented queue has not advanced into a next segment of the primary segmented queue for a period of time.

8. The method of claim 1 , further comprising sending an interrupt message from the second computing device to the first computing device.

9. The method of claim 8 , wherein the interrupt message is for notifying the first computing device of the error.

10. The method of claim 1 , further comprising isolating the first communications interface card from the first computing device and isolating the second communications interface card from the second computing device in response to the error.

11. The method of claim 1 , further comprising reconciling a gap generated by the error.

12. A system comprising:

a first computing device; and

a second computing device connected to the first computing device via a first remote memory access link and a second remote memory access link;

the first computing device configured to, in response to detecting an error with the first remote memory access link, copy all messages from a primary segmented queue associated with the first remote memory access link to a backup segmented queue associated with the second remote memory access link, wherein each message includes a request for processing an order by the first computing device, and resend messages from the backup segmented queue associated with a second remote memory access link to the second computing device; and

the second computing device configured to discard duplicate receive messages.

13. The system of claim 12 , wherein at least one of the first computing device and the second computing device is configured to activate the second remote memory access link in response to detection of the error.

14. The system of claim 12 , wherein the first computing device comprises a first communications interface card and the second computing device comprises a second communications interface card, the first remote memory access link comprising the first communications interface card and the second communications interface card, and wherein the first computing device comprises a third communications interface card and the second computing device comprises a fourth communications interface card, the second remote memory access link comprising the third communications interface card and the fourth communications interface card.

15. The system of claim 14 , wherein the error comprises an error event in the first communications interface card.

16. The system of claim 14 , wherein the first computing device is configured to isolate the first communications interface card in response to the error, and wherein the second computing device is configured to isolate the second communications interface card in response to the error.

17. The system of claim 12 , wherein the first computing device is configured to resend messages of a current segment of the primary segmented queue associated with the first remote memory access link, the current segment being a segment containing a write pointer.

18. The system of claim 12 , wherein the error comprises a checksum error.

19. The system of claim 12 , wherein the error comprises a physical disruption of the first remote memory access link.

20. The system of claim 12 , wherein the error comprises failure to receive a message within a predetermined period of time.

21. The system of claim 12 , wherein the second computing device is configured to send an interrupt message to the first computing device.

22. The system of claim 21 , wherein the interrupt message is for notifying the first computing device of the error.

23. The system of claim 12 , wherein at least one of the first computing device and the second computing device is configured to reconcile a gap generated by the error.

24. A method of device interconnect failover between a first computing device and a second computing device, the method comprising:

establishing a first remote memory access link between the first computing device and the second computing device; and

detecting an error associated with the first remote memory access link, and in response to the error:

the first computing device copying all messages from a primary segmented queue associated with the first remote memory access link to a backup segmented queue associated with the second remote memory access link, wherein each message includes a request for processing an order by the first computing device;

activating the second remote memory access link between the first computing device and the second computing device;

the first computing device resending messages from the primary segmented queue associated with the first remote memory access link through the second remote memory access link to the second computing device; and

the second computing device discarding duplicate received messages, if any.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2015
From: MOROSAN, TUDOR; ALLEN, GREGORY ARTHUR
To: TSX INC.
Reel/Frame 037064/0054 →
Continuity (2)
Provisional Application 61834577 · Jun 13, 2013
Related Publication 20160149801A1 · May 26, 2016