IP Library Granted Patent US 8,958,325
Granted Patent B2
US 8,958,325 · App. 13/540,548 · Granted Feb 17, 2015

Fault-tolerant communications in routed networks

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 8,958,325
App. No.
13/540,548
Granted
Feb 17, 2015
Kind
B2
Abstract

A method for providing fault-tolerant network communications between a plurality of nodes for an application, including providing a plurality of initial communications pathways over a plurality of networks coupled between the plurality of nodes, receiving a data packet on a sending node from the application, the sending node being one of the plurality of nodes, the data packet being addressed by the application to an address on one of the plurality of nodes, and selecting a first selected pathway for the data packet from among the plurality of initial communications pathways where the first selected pathway is a preferred pathway.

Claims (29)

1. A system comprising a computing device that includes a source protocol driver, a plurality of protocol drivers, and a fault tolerant driver that is configured for detecting a failure of any of a plurality of pathways over one or more networks, where each of the plurality of protocol drivers is configured for sending data via a corresponding one of a plurality of network interface cards over a corresponding one of the plurality of pathways, where the each of the plurality of protocol drivers is connected to its corresponding one of the plurality of network interface cards that is connected to the corresponding one of the plurality of pathways, the system configured for performing actions comprising:

receiving, by the fault tolerant driver from the source protocol driver, the data;

calculating, by the fault tolerant driver based on the detecting, a preferred pathway from among the plurality of pathways, where the preferred pathway is calculated for use over others of the plurality of pathways based on pathway operational status; and

forwarding, by the fault tolerant driver over the preferred pathway, the received data via one of the plurality of protocol drivers that corresponds to the preferred pathway and the corresponding one of a plurality of network interface cards.

2. The system of claim 1 where the fault-tolerant driver is further configured for enabling protocol reliability to be provided by the source protocol driver.

3. The system of claim 1 where the fault-tolerant driver is further configured for not degrading route-ability of a protocol supported by the source protocol driver.

4. The system of claim 1 where the fault-tolerant driver is further configured for mapping a virtual address used by a source of the data to an address used by a destination of the data.

5. The system of claim 1 where the fault-tolerant driver comprises a tunnel adapter configured for maintaining a socket and for routing data via the socket between the source protocol driver and any of the plurality of protocol drivers.

6. The system of claim 1 where the fault-tolerant driver is further configured for mapping physical addresses to virtual addresses.

7. The system of claim 1 where the fault-tolerant driver is further configured for monitoring health of each of the plurality of pathways.

8. A method performed on a computing device that includes a source protocol driver, a plurality of protocol drivers, and a fault-tolerant driver that is configured for detecting a failure of any of a plurality of pathways over one or more networks, where each of the plurality of protocol drivers is configured for sending data via a corresponding one of a plurality of network interface cards over a corresponding one of the plurality of pathways, where the each of the plurality of protocol drivers is connected to its corresponding one of the plurality of network interface cards that is connected to the corresponding one of the plurality of pathways, the method comprising:

receiving, by the fault tolerant driver from the source protocol driver, the data;

calculating, by the fault tolerant driver based on the detecting, a preferred pathway from among the plurality of pathways, where the preferred pathway is calculated for use over others of the plurality of pathways based on pathway operational status; and

forwarding, by the fault tolerant driver over the preferred pathway, the received data via one of the plurality of protocol drivers that corresponds to the preferred pathway and the corresponding one of a plurality of network interface cards.

9. The method of claim 8 where the fault-tolerant driver is further configured for enabling protocol reliability to be provided by the source protocol driver.

10. The method of claim 8 where the fault-tolerant driver is further configured for not degrading route-ability of a protocol supported by the source protocol driver.

11. The method of claim 8 where the fault-tolerant driver is further configured for mapping a virtual address used by a source of the data to an address used by a destination of the data.

12. The method of claim 8 where the fault-tolerant driver comprises a tunnel adapter configured for maintaining a socket and for routing data via the socket between the source protocol driver and any of the plurality of protocol drivers.

13. The method of claim 8 where the fault-tolerant driver is further configured for mapping physical addresses to virtual addresses.

14. The method of claim 8 where the fault-tolerant driver is further configured for monitoring health of each of the plurality of pathways.

15. At least one computer storage device storing computer- executable instructions that, when executed by a computing device that includes a source protocol driver, a plurality of protocol drivers, and a fault-tolerant driver that is configured for detecting a failure of any of a plurality of pathways, where each of the plurality of protocol drivers is configured for sending data via a corresponding one of a plurality of network interface cards over a corresponding one of the plurality of pathways, where the each of the plurality of protocol drivers is connected to its corresponding one of the plurality of network interface cards that is connected to the corresponding one of the plurality of pathways, cause the computing device to perform actions comprising:

receiving, by the fault tolerant driver from the source protocol driver, the data;

calculating, by the fault tolerant driver based on the detecting, a preferred pathway from among the plurality of pathways, where the preferred pathway is calculated for use over others of the plurality of pathways based on pathway operational status; and

forwarding, by the fault tolerant driver over the preferred pathway, the received data via one of the plurality of protocol drivers that corresponds to the preferred pathway and the corresponding one of a plurality of network interface cards.

16. The at least one computer storage device of claim 15 where the fault-tolerant driver is further configured for enabling protocol reliability to be provided by the source protocol driver.

17. The at least one computer storage device of claim 15 where the fault-tolerant driver is further configured for not degrading route-ability of a protocol supported by the source protocol driver.

18. The at least one computer storage device of claim 15 where the fault-tolerant driver is further configured for mapping a virtual address used by a source of the data to an address used by a destination of the data.

19. The at least one computer storage device of claim 15 where the fault-tolerant driver comprises a tunnel adapter configured for maintaining a socket and for routing data via the socket between the source protocol driver and any of the plurality of protocol drivers.

20. The at least one computer storage device of claim 15 where the fault-tolerant driver is further configured for mapping physical addresses to virtual addresses or for monitoring health of each of the plurality of pathways.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →