EP1557976A1

Method and apparatus for multicasting of cell or frame data

Abstract

One or more embodiments of the present invention provide a method and apparatus for multicasting of data, for example, cell data (202) or frame data, with the ability to dynamically manage such multicasting. A data structure, referred to as a to-do list (206), is maintained with entries for enqueued data elements (209,210,211). To-do list entries (209,210,211) include a data element pointer (207) identifying the corresponding data element (203,204,205) and a leaf to be processed pointer (208) indicating the progression of transmission of the corresponding data element (203,204,205) to the plurality of leaves (220,221,222,223) of a multicast tree (234), wherein the plurality of leaves (220,221,222,223) are used to transmit the data (203,204,205) to a plurality of multicast destinations. A method for counting copies of each data element (203,204,205) as they are transmitted to each of the plurality of leaves (220,221,222,223) is performed so as to accommodate the addition or deletion of one or more multicast leaves during the multicasting process.

EP1557976A1, drawing sheet 1
Sheet 1 of 8

Term

Term ended

Projected expiry passed 18 January 2025, 1.7 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

20 claims: 5 independent, 15 dependent

  1. 1
    A method for multicasting data comprising:adding (302) the data to a queue;placing (303) a reference to the data and to a multicast tree into a to-do list;for each of the leaves of the multicast tree, obtaining (304) a data element pointer and a leaf to be processed pointer from the to-do list;and scheduling the data to be output to each of the leaves of the multicast tree based on the data element pointer and the leaf to be processed pointer.
  2. 8
    A method for multicasting data comprising:adding the data to a queue as enqueued data;transmitting the enqueued data to each of a plurality of multicast destinations;determining that all of the enqueued data for a particular destination of the multicast destinations have been transmitted.
  3. 9
    A method for multicasting data comprising:storing queue context information and data context information pertaining to the data;determining which of the data to transmit as output data and a destination to which it shall be transmitted based on the queue context information and the data context information;transmitting the output data to the destination;determining a number of destinations to which the output data has been transmitted;and determining a number of destinations intended to receive the output data.
  4. 12
    The method of claims 11 further comprising:obtaining a data element pointer and a leaf to be processed pointer from a to-do list, wherein the step of determining which of the data to transmit as the output data is based on the data element pointer and the leaf to be processed pointer.
  5. 16
    Apparatus for multicasting data comprising:a queuing element (402) for receiving the data and for transmitting the data to a plurality of multicast destinations via a plurality of destination queues (420, 421, 422);a memory subsystem for storing the data, queue context information pertaining to a root connection, data context information pertaining to the data, a data element pointer, and a leaf to be processed pointer;and a scheduler (404) for scheduling a dequeuing event for the data.