Claims
- 1. A method of routing packets of one or more multicast sessions between ingress ports and egress ports of a switch, the method comprising the steps of:
(a) queuing i) each arriving packet in a corresponding session queue, and ii) an identifer for each new multicast session to a list-of-sessions queue; (b) queuing a descriptor associated with one or more packets of each multicast session in the list-of-sessions queue to one or more interface descriptor queues associated with one or more egress ports of the switch; (c) selecting, for each non-empty interface descriptor queue, one descriptor of the non-empty interface descriptor queue; and (d) transmitting, for each non-empty interface descriptor queue, one or more packets associated with the selected descriptor in the non-empty interface queue to the corresponding egress port.
- 2. The invention of claim 1, further comprising the steps of:
(e) assigning a reference count equivalent to the fan-out of the corresponding multicast session to each arriving packet; and (f) adjusting the reference count as the corresponding packet is transmitted to the corresponding egress port.
- 3. The invention of claim 2, further comprising the steps of:
(g) repeating steps (c), (d), and (f); and (f) clearing the packet in the switch based on the adjusted reference count.
- 4. The invention of claim 3, wherein step (f) clears the packet when the adjusted reference count is zero
- 5. The invention of claim 1, further comprising the step of repeating steps (a) through (d) as packets arrive at the switch.
- 6. The invention of claim 1, wherein, for step (b), each descriptor for each session is queued in one or more interface descriptor queues in accordance with a round-robin or weighted round-robin scheduling method.
- 7. The invention of claim 1, wherein step (c) selects each descriptor of each interface descriptor queue in accordance with a predefined service method.
- 8. Apparatus for routing packets of one or more multicast sessions between ingress ports and egress ports of a switch, the apparatus comprising:
a packet arrival processor adapted to queue i) each arriving packet in a corresponding session queue, and ii) an identifer for each new multicast session to a list-of-sessions queue; a packet replication processor adapted to queue a descriptor associated with one or more packets of each multicast session in the list-of-sessions queue to one or more interface descriptor queues associated with one or more egress ports of the switch; a per-interface transmission processor adapted to:
1) select, for each non-empty interface descriptor queue, one descriptor of the non-empty interface descriptor queue; and 2) transmit, for each non-empty interface descriptor queue, one or more packets associated with the selected descriptor in the non-empty interface queue to the corresponding egress port.
- 9. The invention of claim 8, wherein:
the packet arrival processor is adapted to assign a reference count equivalent to the fan-out of the corresponding multicast session to each arriving packet; and the per-interface transmission processor is adapted to adjust the reference count as the corresponding packet is transmitted to the corresponding egress port.
- 10. The invention of claim 9, wherein the per-interface transmission processor is adapted to clear the packet in the switch based on the adjusted reference count.
- 11. A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to implement a method for routing packets of one or more multicast sessions between ingress ports and egress ports of a switch, the method comprising the steps of:
(a) queuing i) each arriving packet in a corresponding session queue, and ii) an identifer for each new multicast session to a list-of-sessions queue; (b) queuing a descriptor associated with one or more packets of each multicast session in the list-of-sessions queue to one or more interface descriptor queues associated with one or more egress ports of the switch; (c) selecting, for each non-empty interface descriptor queue, one descriptor of the non-empty interface descriptor queue; and (d) transmitting, for each non-empty interface descriptor queue, one or more packets associated with the selected descriptor in the non-empty interface queue to the corresponding egress port.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of the filing date of U.S. provisional application No. 60/395,906 filed on Jul. 15, 2002, as Attorney Docket No. Stiliadis 11 PROV.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60395906 |
Jul 2002 |
US |