Crosspoint switch having multicast functionality
AssigneeFujitsu Network Communications, Inc.
InventorDavid C. Sawey
Life of this patent
Estimating the term…
Abstract
A crosspoint switch uses an iterative process to deliver multicast packets from inputs to outputs. The switch includes output queues dedicated to the inputs, with backpressure indications provided from the output queues to the corresponding inputs. The inputs use the backpressure indications to schedule multicast packets for delivery to one or more of the output queues.
Claims25
A switch comprising:
- N inputs;
- and
- M outputs each comprising N output queues corresponding to the N inputs;
- wherein each of the inputs is operable to:
- receive a multicast packet for delivery to at least two recipient ones of the outputs;
- queue the multicast packet;
- determine available ones of the recipient outputs, wherein an available recipient output has availability in the output queue corresponding to the input receiving the multicast packet;
- schedule the multicast packet for communication to the available recipient outputs;
- and
- re-queue the multicast packet for delivery to remaining ones of the recipient outputs that were not available.
A method for handling multicast packets, the method comprising the steps of:
- receiving a multicast packet at one of N inputs of a switch;
- determining recipient ones of M outputs of the switch, wherein each of the M outputs comprises N output queues corresponding to the N inputs;
- queuing the multicast packet;
- determining available ones of the recipient outputs, wherein an available recipient output has availability in the output queue corresponding to the input receiving the multicast packet;
- scheduling the multicast packet for communication to the available recipient outputs;
- and
- if not all of the recipient outputs were available, re-queuing the multicast packet for delivery to remaining ones of the recipient outputs that were not available.
Logic for handling multicast packets, the logic encoded in media and operable when executed to perform the steps of:
- receiving a multicast packet at one of N inputs of a switch;
- determining recipient ones of M outputs of the switch, wherein each of the M outputs comprises N output queues corresponding to the N inputs;
- queuing the multicast packet;
- determining available ones of the recipient outputs, wherein an available recipient output has availability in the output queue corresponding to the input receiving the multicast packet;
- scheduling the multicast packet for communication to the available recipient outputs;
- and
- if not all of the recipient outputs were available, re-queuing the multicast packet for delivery to remaining ones of the recipient outputs that were not available.
A switch comprising:
- means for receiving a multicast packet at one of N inputs of a switch;
- means for determining recipient ones of M outputs of the switch, wherein each of the M outputs comprises N output queues corresponding to the N inputs;
- means for queuing the multicast packet;
- means for determining available ones of the recipient outputs, wherein an available recipient output has availability in the output queue corresponding to the input receiving the multicast packet;
- means for scheduling the multicast packet for communication to the available recipient outputs;
- and
- means for, if not all of the recipient outputs were available, re-queuing the multicast packet for delivery to remaining ones of the recipient outputs that were not available.
A switch comprising:
- N inputs;
- and
- M outputs each comprising N output queues corresponding to the N inputs;
- wherein each of the inputs comprises M input queues corresponding to the M outputs and is operable to:
- receive a multicast packet for delivery to at least two recipient ones of the outputs;
- generate a port map identifying the recipient outputs;
- associate the port map with the multicast packet;
- select one of the recipient outputs;
- queue the multicast packet in the input queue corresponding to the selected recipient output;
- determine available ones of the recipient outputs, wherein an available recipient output has availability in the output queue corresponding to the input receiving the multicast packet;
- generate a second port map identifying the available recipient outputs;
- associate the second port map with the multicast packet to schedule the multicast packet for communication to the available recipient outputs;
- generate a third port map identifying the remaining recipient outputs;
- associate the third port map with the multicast packet;
- select one of the remaining recipient outputs;
- and
- re-queue the multicast packet and the associated third port map in the input queue corresponding to the selected remaining recipient output.
Dependencies are inferred from the claim text.