IP Library Granted Patent US 9,455,899
Granted Patent B2
US 9,455,899 · App. 14/864,453 · Granted Sep 27, 2016

Disjoint multi-pathing for a data center network

Inventors: Casimer M. DeCusatis (Poughkeepsie, NY); Keshav G. Kamble (Fremont, CA); Abhijit P. Kumbhare (San Jose, CA); Renato J. Recio (Austin, TX); Simarbir Singh (Plano, TX)
Assignee: International Business Machines Corporation
H04L45/021H04L45/24H04L49/357H04L67/1097H04L45/1283
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,455,899
App. No.
14/864,453
Granted
Sep 27, 2016
Kind
B2
Abstract

According to one embodiment, an apparatus includes a processor and logic integrated with and/or executable by the processor. The logic is configured to determine paths between a plurality of switches connected together in a system by performing path calculations based on a topology of the system. The logic is also configured to calculate one or more disjoint multi-paths from among the paths, the one or more disjoint multi-paths connecting a source device to a destination device. The source device is connected to a first switch of the plurality of switches, and the destination device is connected to a second switch of the plurality of switches. Moreover, the logic is configured to write the one or more disjoint multi-paths into a forwarding table of at least one device. Other systems and computer program products are presented according to more embodiments.

Claims (44)

1. An apparatus, comprising:

a processor and logic integrated with and/or executable by the processor, the logic being configured to:

obtain a topology of a data center fabric network system;

determine paths between a plurality of switches connected together in the data center fabric network system via a plurality of communication links by performing path calculations based on the topology of the data center fabric network system;

calculate one or more disjoint multi-paths from among the paths, the one or more disjoint multi-paths connecting a source device to a destination device based on the topology by determining whether a fully disjoint multi-path is available from the source device to the destination device, wherein the source device is connected to a first switch of the plurality of switches, and wherein the destination device is connected to a second switch of the plurality of switches; and

write the one or more disjoint multi-paths into a forwarding table of at least one device,

wherein the one or more disjoint multi-paths are fully disjoint based on a determination that a fully disjoint multi-path is available from the source device to the destination device resulting in at least one fully redundant path, and

wherein the one or more disjoint multi-paths are partially disjoint based on a determination that a fully disjoint multi-path is not available from the source device to the destination device, a partially disjoint multi-path comprising at least two paths that share a minimum number of devices in the data center fabric network system.

2. The apparatus of claim 1 , wherein the at least one device is the source device, and wherein the logic is configured to communicate with the source device during writing of the one or more disjoint multi-paths into the forwarding table of the source device.

3. The apparatus of claim 1 , wherein the at least one device is the first switch, and wherein the plurality of switches are restricted from executing a discovery protocol to determine paths to other switches in the data center fabric network system.

4. The apparatus of claim 1 , wherein the at least one device is a nearest shared switch to the source device causing all traffic sent from the source device to be routed through the nearest shared switch.

5. The apparatus as recited in claim 1 , wherein the logic is configured to store the one or more disjoint multi-paths to a switch forwarding table in each switch in the data center fabric network system.

6. The apparatus as recited in claim 1 , wherein the logic is configured to:

calculate at least one disjoint multi-path between a third switch and other switches in the data center fabric network system; and

write the at least one disjoint multi-path into a switch forwarding table of the third switch.

7. The apparatus as recited in claim 6 , wherein the logic is configured to:

detect a change in the data center fabric network system that affects the third switch;

re-calculate at least one disjoint multi-path between the third switch and other switches in the data center fabric network system in response to the change in the data center fabric network system; and

write the at least one disjoint multi-path into the switch forwarding table of the third switch.

8. The apparatus as recited in claim 7 , wherein the logic configured to re-calculate the at least one disjoint multi-path between the third switch and other switches in the data center fabric network system is configured to:

determine whether a fully disjoint multi-path exists through the data center fabric network system;

select the fully disjoint multi-path in response to the fully disjoint multi-path existing through the data center fabric network system; and

select a partially disjoint multi-path in response to the fully disjoint multi-path not existing through the data center fabric network system.

9. The apparatus as recited in claim 8 , wherein the change in the data center fabric network system comprises addition of a switch to the data center fabric network system.

10. The apparatus as recited in claim 8 , wherein the change in the data center fabric network system comprises removal of a switch from the data center fabric network system.

11. The apparatus as recited in claim 8 , wherein the change in the data center network fabric system comprises change of a property of a switch in the data center fabric network system.

12. The apparatus as recited in claim 1 , wherein the logic is configured to:

detect a change in the data center fabric network system affecting a disjoint multi-path between the source device and the destination device;

re-calculate one or more disjoint multi-paths from the source device to the destination device in response to detecting the change in the data center fabric network system; and

write the one or more re-calculated disjoint multi-paths into a forwarding table.

13. The apparatus as recited in claim 12 , wherein the logic configured to re-calculate the one or more disjoint multi-paths from the source device to the destination device is configured to:

determine whether a fully disjoint multi-path exists from the source device to the destination device;

select the fully disjoint multi-path in response to the fully disjoint multi-path existing from the source device to the destination device; and

select a partially disjoint multi-path in response to the fully disjoint multi-path not existing from the source device to the destination device.

14. The apparatus as recited in claim 1 , wherein the one or more disjoint multi-paths from the source device to the destination device are calculated in response to a request from the source device being received.

15. The apparatus as recited in claim 1 , wherein the one or more disjoint multi-paths from the source device to the destination device are calculated in response to a request originated from the nearest shared switch to the source device being received.

16. The apparatus as recited in claim 1 , wherein the logic is configured to receive reports of nearest neighbor devices from one or more switch of the plurality of switches.

17. A computer program product, comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the embodied program instructions readable/executable by a processor to cause the processor to:

determine, by the processor, paths between a plurality of switches connected together in a data center fabric network system via a plurality of communication links by performing path calculations based on a topology of the data center fabric network system, wherein the plurality of switches are restricted from executing a discovery protocol to determine paths to other switches in the data center fabric network system;

calculate, by the processor, one or more disjoint multi-paths from among the paths, the one or more disjoint multi-paths connecting a source device to a destination device, wherein the source device is connected to a first switch of the plurality of switches, and wherein the destination device is connected to a second switch of the plurality of switches; and

write, by the processor, the one or more disjoint multi-paths into a forwarding table of at least one device.

18. The computer program product as recited in claim 17 , wherein the at least one device is the source device.

19. The computer program product as recited in claim 17 , wherein the at least one device is the first switch.

20. The computer program product as recited in claim 17 , wherein the at least one device is a nearest shared switch to the source device causing all traffic sent from the source device to be routed through the nearest shared switch.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2015
From: DECUSATIS, CASIMER M.; KAMBLE, KESHAV G.; KUMBHARE, ABHIJIT P.; RECIO, RENATO J.; SINGH, SIMARBIR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 036698/0418 →
Continuity (2)
Continuation 13407658 · Feb 28, 2012
Related Publication 20160028611A1 · Jan 28, 2016