Scalable IP-services enabled multicast forwarding with efficient resource utilization
First Claim
1. A method of managing multicast Internet Protocol (IP) sessions, the method comprising:
- identifying, by a router, active multicast IP sessions; and
maintaining, by the router, a data structure within a memory of the router containing therein information regarding the active multicast IP sessions;
wherein the data structure includes;
a plurality of pairs of a source field and a group field ({S, G} pairs), in which each pair of the plurality of {S, G} pairs defines a multicast IP session of the active multicast IP sessions, wherein the source field defines a source of a multicast transmission of the multicast IP session and the group field defines a group corresponding to the multicast IP session;
a first pointer associated with each of the plurality of {S, G} pairs that points to a dynamically allocated set of outbound interface (OIF) blocks, wherein a number OIF blocks in the dynamically allocated set of OIF blocks is dependent upon a number of OIFs of the router that are participating in the IP multicast session and the number of OIF blocks in the dynamically allocated set of OIF blocks defines a number of times packets of the IP multicast session are to be replicated; and
a set of slots for each OIF block of the set of dynamically allocated OIF blocks, each slot of the set of slots having stored therein a second pointer to a transmit control block (TCB) data structure which services one or more users participating in the IP multicast session and which has stored therein control information to process or route packets of the IP multicast session, including information regarding an OIF of the router through which the packets are to be transmitted; and
wherein each OIF block of the set of OIF blocks is independently accessible without affecting processing of other OIF blocks of the set of OIF blocks.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatus and data structures are provided for managing multicast IP flows. According to one embodiment, a router identifies active multicast IP sessions. A data structure is maintained by the router that contains information regarding the active multicast IP sessions and includes multiple pairs of a source field and a group field ({S, G} pairs), a first pointer associated with each of the {S,G} pairs and a set of slots. Each of the {S, G} pairs defines an active multicast IP session. The source field defines a source of a multicast transmission of the multicast IP session and the group field defines a group corresponding to the multicast IP session. The first pointer points to a dynamically allocated set of outbound interface (OIF) blocks. Each slot has stored therein a second pointer to a transmit control block (TCB) data structure that services users participating in the multicast IP session.
197 Citations
17 Claims
-
1. A method of managing multicast Internet Protocol (IP) sessions, the method comprising:
-
identifying, by a router, active multicast IP sessions; and maintaining, by the router, a data structure within a memory of the router containing therein information regarding the active multicast IP sessions; wherein the data structure includes; a plurality of pairs of a source field and a group field ({S, G} pairs), in which each pair of the plurality of {S, G} pairs defines a multicast IP session of the active multicast IP sessions, wherein the source field defines a source of a multicast transmission of the multicast IP session and the group field defines a group corresponding to the multicast IP session; a first pointer associated with each of the plurality of {S, G} pairs that points to a dynamically allocated set of outbound interface (OIF) blocks, wherein a number OIF blocks in the dynamically allocated set of OIF blocks is dependent upon a number of OIFs of the router that are participating in the IP multicast session and the number of OIF blocks in the dynamically allocated set of OIF blocks defines a number of times packets of the IP multicast session are to be replicated; and a set of slots for each OIF block of the set of dynamically allocated OIF blocks, each slot of the set of slots having stored therein a second pointer to a transmit control block (TCB) data structure which services one or more users participating in the IP multicast session and which has stored therein control information to process or route packets of the IP multicast session, including information regarding an OIF of the router through which the packets are to be transmitted; and wherein each OIF block of the set of OIF blocks is independently accessible without affecting processing of other OIF blocks of the set of OIF blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of managing multicast Internet Protocol (IP) sessions, the method comprising:
-
identifying, by a router, active multicast IP sessions; maintaining, by the router, a data structure within a memory of the router containing therein information regarding the active multicast IP sessions, including; a first pointer associated with each of a plurality of pairs of a source field and a group field ({S, G} pairs) that points to a dynamically allocated set of outbound interface (OIF) blocks, wherein each pair of the plurality of {S, G} pairs defines a multicast IP session of the active multicast IP sessions, wherein the source field contains information indicative of a source of a multicast transmission of the multicast IP session and the group field contains information indicative of a group corresponding to the multicast IP session, wherein a number OIF blocks in the dynamically allocated set of OIF blocks is dependent upon a number of OIFs of the router that are participating in the IP multicast session and the number of OIF blocks in the dynamically allocated set of OIF blocks defines a number of times packets of the IP multicast session are to be replicated; and a set of slots for each OIF block of the set of dynamically allocated OIF blocks, each slot of the set of slots having stored therein a second pointer to a transmit control block (TCB) data structure which services one or more users participating in the IP multicast session and which has stored therein control information to process or route packets of the IP multicast session, including information regarding an OIF of the router through which the packets are to be transmitted; and independently adding or removing, by the router, a corresponding second pointer from a slot of the set of slots of an OIF block of the set of OIF blocks for a particular {S, G} pair of the plurality of {S, G} pairs when a member of a multicast IP session of the active multicast IP sessions corresponding to the particular {S, G} pair joins or leaves a group associated with the multicast IP session. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
Specification