IP Library › Granted Patent US 10,348,847
Granted Patent B2
US 10,348,847 · App. 15/656,981 · Granted Jul 9, 2019

System and method for supporting proxy based multicast forwarding in a high performance computing environment

Inventors: Bjørn Dag Johnsen (Oslo, NO); Arvind Srinivasan (San Jose, CA); Bartosz Bogdanski (Redwood Shores, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L67/2814G11C15/00H04L12/18H04L12/185H04L12/1886H04L45/16H04L45/24H04L49/358G06F2201/88H04L12/66H04L49/10H04L49/201H04L49/30H04L69/22
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,348,847
App. No.
15/656,981
Granted
Jul 9, 2019
Kind
B2
Abstract

System and method for supporting proxy based multicast forwarding in a high performance computing environment. In accordance with an embodiment, a proxy based multicast forwarding system and method can be utilized. A proxy, either software, firmware, or hardware based, can be initialized and run within a local subnet domain, wherein the proxy is a member of at least one multicast group (MCG). The proxy can be configured to forward packets to other subnet domains in several different methods.

Claims (66)

1. A method for supporting proxy based multicast forwarding in a high performance computing environment, comprising:

providing, at one or more computers, including one or more microprocessors,

a network fabric, the network fabric comprising

a first subnet, the first subnet comprising a first set of network switches, a first set of host channel adapters (HCAs), and a first multicast proxy, the first multicast proxy residing behind a first HCA of the first set of HCAs, the first multicast proxy being a member of a first multicast group defined within the first subnet, and

a second subnet interconnected with the first subnet, the second subnet comprising a second set of network switches, a second multicast proxy, and a second set of host channel adapters (HCAs), the second multicast proxy being a member of a second multicast group defined within the second subnet;

receiving, at the first multicast proxy, a multicast packet, the multicast packet comprising a multicast header, the multicast header comprising a multicast global identifier (MGID) and a multicast local identifier (MLID), the MLID of the multicast packet defined within the first multicast group;

updating, by the first multicast proxy, based upon a lookup into a memory accessible by the first multicast proxy, the MLID of the received multicast packet, resulting in a second MLID of the received multicast packet, the second MLID defined within the second multicast group; and

transmitting, by the first multicast proxy, the multicast packet comprising the second MLID to the second multicast proxy within the second subnet;

wherein the first multicast group utilizes a first set of MLIDs within the first subnet, and wherein the second multicast group utilizes a second set of MLIDs within the second subnet, wherein the first set of MLIDs are non-coextensive with the second set of MLIDs.

2. The method of claim 1 , wherein the second MLID of the received multicast packet appears in a multicast forwarding table of the second subnet.

3. The method of claim 1 , wherein the second multicast proxy resides behind a second HCA of the second set of HCAs, the method further comprising:

receiving, at the second multicast proxy, the transmitted multicast packet with the second MLID;

updating, by the second multicast proxy, the second MLID of the received multicast packet, resulting in a third MLID of the received multicast packet.

4. The method of claim 3 , wherein the third MLID of the received multicast packet appears in a multicast forwarding table of the second subnet.

5. The method of claim 1 , wherein the second multicast proxy resides behind a second HCA of the second set of HCAs, the method further comprising:

prior to transmitting, by the multicast proxy, the multicast packet to the second subnet, bundling the multicast packet with the second MLID in a unicast packet;

wherein transmitting, by the multicast proxy, the multicast packet to the second subnet comprises transmitting the unicast packet to the second subnet.

6. The method of claim 5 , further comprising:

receiving, at the second multicast proxy, the transmitted unicast packet;

unbundling the multicast packet from the unicast packet; and

routing the unbundled multicast packet with the second MLID to the second subnet.

7. The method of claim 6 , wherein the second MLID of the multicast packet appears in a multicast forwarding table of the second subnet.

8. A system for supporting proxy based multicast forwarding in a high performance computing environment, the system comprising:

a computer environment comprising:

a network fabric, the network fabric comprising

a first subnet, the first subnet comprising a first set of network switches, a first set of host channel adapters (HCAs), and a first multicast proxy, the first multicast proxy residing behind a first HCA of the first set of HCAs, the first multicast proxy being a member of a first multicast group defined within the first subnet, and

a second subnet interconnected with the first subnet, the second subnet comprising a second set of network switches, a second multicast proxy, and a second set of host channel adapters (HCAs)), the second multicast proxy being a member of a second multicast group defined within the second subnet;

wherein the computer environment is configured to perform the steps comprising:

receiving, at the first multicast proxy, a multicast packet, the multicast packet comprising a multicast header, the multicast header comprising a multicast global identifier (MGID) and a multicast local identifier (MLID), the MLID of the multicast packet defined within the first multicast group;

updating, by the first multicast proxy, the MLID of the received multicast packet, resulting in a second MLID of the received multicast packet, the second MLID defined within the second multicast group; and

transmitting, by the first multicast proxy, the multicast packet comprising the second MLID to the second multicast proxy within the second subnet;

wherein the first multicast group utilizes a first set of MLIDs within the first subnet, and wherein the second multicast group utilizes a second set of MLIDs within the second subnet, wherein the first set of MLIDs are non-coextensive with the second set of MLIDs.

9. The system of claim 8 , wherein the second MLID of the received multicast packet appears in a multicast forwarding table of the second subnet.

10. The system of claim 9 , wherein the second multicast proxy resides behind a second HCA of the second set of HCAs, and wherein the computer environment is configured to perform further steps comprising:

receiving, at the second multicast proxy, the transmitted multicast packet with the second MLID;

updating, by the second multicast proxy, the second MLID of the received multicast packet, resulting in a third MLID of the received multicast packet.

11. The system of claim 10 , wherein the third MLID of the received multicast packet appears in a multicast forwarding table of the second subnet.

12. The system of claim 8 , wherein the second multicast proxy resides behind a second HCA of the second set of HCAs, and wherein the computer environment is configured to perform further steps comprising:

prior to transmitting, by the multicast proxy, the multicast packet to the second subnet, bundling the multicast packet with the second MLID in a unicast packet;

wherein transmitting, by the multicast proxy, the multicast packet to the second subnet comprises transmitting the unicast packet to the second subnet.

13. The system of claim 12 , and wherein the computer environment is configured to perform further steps comprising:

receiving, at the second multicast proxy, the transmitted unicast packet;

unbundling the multicast packet from the unicast packet; and

routing the unbundled multicast packet with the second MLID to the second subnet.

14. The system of claim 13 , wherein the second MLID of the multicast packet appears in a multicast forwarding table of the second subnet.

15. A non-transitory machine readable medium, including instructions stored thereon for supporting proxy based multicast forwarding in a high performance computing environment, which when read and executed by one or more computers caused the one or more computers to perform steps comprising:

providing, at one or more computers, including one or more microprocessors,

a network fabric, the network fabric comprising

a first subnet, the first subnet comprising a first set of network switches, a first set of host channel adapters (HCAs), and a first multicast proxy, the first multicast proxy residing behind a first HCA of the first set of HCAs, the first multicast proxy being a member of a first multicast group defined within the first subnet, and

a second subnet interconnected with the first subnet, the second subnet comprising a second set of network switches, a second multicast proxy, and a second set of host channel adapters (HCAs), the second multicast proxy being a member of a second multicast group defined within the second subnet;

receiving, at the first multicast proxy, a multicast packet, the multicast packet comprising a multicast header, the multicast header comprising a multicast global identifier (MGID) and a multicast local identifier (MLID), the MLID of the multicast packet defined within the first multicast group;

updating, by the first multicast proxy, based upon a lookup into a memory accessible by the first multicast proxy, the MLID of the received multicast packet, resulting in a second MLID of the received multicast packet, the second MLID defined within the second multicast group; and

transmitting, by the first multicast proxy, the multicast packet comprising the second MLID to the second multicast proxy within the second subnet;

wherein the first multicast group utilizes a first set of MLIDs within the first subnet, and wherein the second multicast group utilizes a second set of MLIDs within the second subnet, wherein the first set of MLIDs are non-coextensive with the second set of MLIDs.

16. The non-transitory machine readable medium of claim 15 , wherein the second MLID of the received multicast packet appears in a multicast forwarding table of the second subnet.

17. The non-transitory machine readable medium of claim 15 , wherein the second multicast proxy resides behind a second HCA of the second set of HCAs, the steps further comprising:

receiving, at the second multicast proxy, the transmitted multicast packet with the second MLID;

updating, by the second multicast proxy, the second MLID of the received multicast packet, resulting in a third MLID of the received multicast packet.

18. The non-transitory machine readable medium of claim 17 , wherein the third MLID of the received multicast packet appears in a multicast forwarding table of the second subnet.

19. The non-transitory machine readable medium of claim 15 , wherein the second multicast proxy resides behind a second HCA of the second set of HCAs, the steps further comprising:

prior to transmitting, by the multicast proxy, the multicast packet to the second subnet, bundling the multicast packet with the second MLID in a unicast packet;

wherein transmitting, by the multicast proxy, the multicast packet to the second subnet comprises transmitting the unicast packet to the second subnet;

receiving, at the second multicast proxy, the transmitted unicast packet;

unbundling the multicast packet from the unicast packet; and

routing the unbundled multicast packet with the second MLID to the second subnet.

20. The non-transitory machine readable medium of claim 19 , wherein the second MLID of the multicast packet appears in a multicast forwarding table of the second subnet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2017
From: JOHNSEN, BJORN DAG; SRINIVASAN, ARVIND; BOGDANSKI, BARTOSZ
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 043719/0303 →
Continuity (3)
Continuation In Part 15416642 · Jan 26, 2017
Provisional Application 62288101 · Jan 28, 2016
Related Publication 20170324826A1 · Nov 9, 2017