Multicasting in a shared address space
DCFirst Claim
Patent Images
1. A method of multicasting data units having destination addresses in a shared memory address space, comprising:
- dividing the shared memory address space into a plurality of portions, wherein respective individual portions of the shared memory address space are associated with each of a plurality of ports of a switch, respective multicast portions are associated with at least some of the ports, and wherein the multicast portions have associations with one otherthe method further comprising, for a given data unit;
if the destination address is in an individual portion associated with one of the ports, then forwarding the data unit for transmission out the associated portif the destination address is in a first multicast portion associated with one of the ports, thenforwarding the data unit for transmission out the port associated with the first multicast portionforwarding the data unit for transmission out a port associated with a second multicast portion associated with the first multicast portion, wherein the forwarded data unit is revised to specify a destination address within the second multicast portion,transmitting data units through at least some of the ports via memory-mapped I/O into the shared memory address space.
8 Assignments
Litigations
0 Petitions
Accused Products
Abstract
There is disclosed apparatus and methods of multicasting in a shared address space. There may be defined a number of portions of the address space. There may be groups of the portions, and data units addressed to one portion within the group may be re-addressed to the other portions.
51 Citations
22 Claims
-
1. A method of multicasting data units having destination addresses in a shared memory address space, comprising:
-
dividing the shared memory address space into a plurality of portions, wherein respective individual portions of the shared memory address space are associated with each of a plurality of ports of a switch, respective multicast portions are associated with at least some of the ports, and wherein the multicast portions have associations with one other the method further comprising, for a given data unit; if the destination address is in an individual portion associated with one of the ports, then forwarding the data unit for transmission out the associated port if the destination address is in a first multicast portion associated with one of the ports, then forwarding the data unit for transmission out the port associated with the first multicast portion forwarding the data unit for transmission out a port associated with a second multicast portion associated with the first multicast portion, wherein the forwarded data unit is revised to specify a destination address within the second multicast portion, transmitting data units through at least some of the ports via memory-mapped I/O into the shared memory address space. - View Dependent Claims (2, 3)
-
-
4. A switch for multicasting in a shared memory address space, the switch comprising
a buffer for storing data units, the data units having destination addresses in the shared memory address space a first port associated with a first address portion in the shared memory address space, the first address portion including a first multicast address portion a second port associated with a second address portion in the shared memory address space, the second address portion including a second multicast address portion associated with the first multicast address portion logic to cause data units in the buffer having a destination address in the first multicast address portion to be forwarded for transmission out the first port without being removed from the buffer and then replace the destination address with an address in the second multicast address portion cause data units in the buffer having a destination address in the second address portion to be forwarded for transmission out the second port, wherein the switch has logic to transmit data units through the first port and the second port via memory-mapped I/O into the shared memory address space.
-
11. A switch for multicasting in a shared memory address space, the switch comprising
a buffer logic to store data units into the buffer a first port associated with a first address portion in the shared memory address space, the first address portion including an individual portion and a multicast portion a second port associated with a second address portion in the shared memory address space including an individual portion and a multicast portion logic to cause data units in the buffer having a destination address in the individual portion of the first address portion to be forwarded for transmission out the first port and be removed from the buffer cause data units in the buffer having a destination address in the individual portion of the second portion to be forwarded for transmission out the second port and be removed from the buffer cause data units in the buffer having a destination address in the multicast portion of the first address portion to be forwarded for transmission out the first port without being removed from the buffer and then replace the destination address with an address in the multicast portion of the second address portion cause data units in the buffer having a destination address in the multicast portion of the second portion to be forwarded for transmission out the second port, wherein the switch has logic to transmit data units through the first port and the second port via memory-mapped I/O into the shared memory address space.
-
18. A method of multicasting in a shared memory address space using a switch having a buffer, a first port and a second port, the method comprising
associating a first address portion in the shared memory address space with the first port, the first address portion including an individual portion and a multicast portion associating a second address portion in the shared memory address space with the second port, the second address portion including an individual portion and a multicast portion storing data units in the buffer, the data units including a destination address in the shared memory address space if a data unit in the buffer has a destination address in the individual portion of the first address portion, then forwarding the data unit for transmission out the first port removing the data unit from the buffer if a data unit in the buffer has a destination address in the multicast portion of the first address portion, then forwarding the data unit for transmission out the first port replacing the destination address of the data unit with an address in the multicast portion of the second address portion forwarding the data unit for transmission out the second port removing the data unit from the buffer if a data unit in the buffer has a destination address in the individual portion of the second address portion, then forwarding the data unit for transmission out the second port removing the data unit from the buffer transmitting data units through the first port via memory-mapped I/O into the shared memory address space transmitting data units through the second port via memory-mapped I/O into the shared memory address space.
Specification