Patent ID: 7983263

Claim:
A device, comprising: a plurality of forwarding modules connected via a switch fabric, each of the plurality of forwarding modules comprising: a memory to store a plurality of binary forwarding schemes, and a processor to: receive a data packet, determine that the data packet is to be multicast to another two or more of the plurality of forwarding modules, identify two or more of the plurality of binary forwarding schemes to transmit the data packet to the other two more of the plurality of forwarding modules, where a first binary forwarding scheme, of the identified two or more of the plurality of binary forwarding schemes, forwards the data packet to the other two more of the plurality of forwarding modules in a sequential order, and a second binary forwarding scheme, of the identified two or more of the plurality of binary forwarding schemes, forwards the data packet to the other two more of the plurality of forwarding modules in a reverse sequential order, with respect to the sequential order of the first binary forwarding scheme, and replicate the data packet in accordance with the identified two or more binary forwarding schemes to form copies of the data packet, and forward the copies of the data packet to the switch fabric for forwarding to the other two or more of the plurality of forwarding modules, where each of the plurality of binary forwarding schemes represents the two or more of the plurality of forwarding modules to which the data packet is to be forwarded as nodes in a tree such that the nodes comprise a root node, branch nodes, and at least one leaf node, and one of the plurality of forwarding modules that receives the data packet includes the root node, and where the branch nodes and the at least one leaf node associated with the tree in the first binary forwarding scheme are ordered in the sequential order and where the branch nodes and the at least one leaf node associated with the tree in the second binary forwarding schemes are ordered in the reverse sequential order.