A network device may include a first memory to store a primary multicast tree state table for storing next-hop information for a multicast tree corresponding to a multicast stream; a second memory to store a secondary multicast tree, different than the primary multicast tree, state table for storing the next-hop information for the multicast tree corresponding to the multicast stream; a receiver to receive a data unit from a neighbor network device, the data unit including information regarding a next-hop in the multicast tree; and one or more processors. The one or more processors may update the primary multicast tree state table based on the information regarding the next-hop in the multicast tree, and update the secondary multicast tree state table, in response to the one or more processors updates the primary multicast tree state table, based on the information regarding the next-hop in the multicast tree.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A first device comprising: one or more processors to: update, based on a first plurality of data units received from a second device, a primary multicast tree state table regarding a plurality of next-hops in a multicast tree, generate a second plurality of data units based on the first plurality of data units, the second plurality of data units being differemt from the first plurality of data units, and the second plurality of data units comprising information regarding a next-hop for a multicast stream, and update, after updating the primary multicast tree state table, a secondary multicast tree state table based on the second plurality of data units, the secondary multicast tree state table being different from the primary multicast tree state table.
A network device updates a primary table storing multicast tree paths based on data received from another device. It then creates a second, different set of data based on the first, also containing multicast path information. This device then updates a secondary multicast path table, different from the primary, using this second set of data. The updates to the secondary table happen only after the primary table has been updated.
2. The first device of claim 1 , further comprising: a primary control unit comprising a first memory to store the primary multicast tree state table; a secondary control unit comprising a second memory to store the secondary multicast tree state table; and a bus, coupling the primary control unit and the secondary control unit, to carry the second plurality of data units from the primary control unit to the secondary control unit.
The network device from the previous description includes a primary control unit with memory for the primary multicast table, a secondary control unit with memory for the secondary multicast table, and a bus connecting them. The bus carries the modified multicast path data from the primary to the secondary control unit, allowing the secondary table to be updated.
3. The first device of claim 1 , where the first plurality of data units and the second plurality of data units include at least one of a join packet or a prune packet.
In the network device from the first description, the data units used to update both the primary and secondary multicast path tables are join or prune packets, signaling changes in multicast group membership.
4. The first device of claim 2 , where the secondary multicast tree state table comprises at least a portion of information that is included in the primary multicast tree state table, and where the first device further comprises: a switch to switch from the primary control unit to the secondary control unit.
In the network device that includes both primary and secondary control units, the secondary multicast path table contains at least some of the same information as the primary table. A switch allows the device to switch operation from the primary to the secondary control unit, providing redundancy if the primary unit fails.
5. The first device of claim 2 , where the one or more processors are further to: determine that the second memory is available, generate one or more data units that are indicative of a current state of the primary multicast tree state table after determining that the second memory is available, and populate the secondary multicast tree based on the one or more data units that are indicative of the current state of the primary multicast tree state table.
In the network device that includes both primary and secondary control units, the device checks if the secondary memory is available. Once available, the device generates data representing the current state of the primary multicast table. It then populates the secondary multicast table based on this data, ensuring the secondary table is synchronized with the primary.
6. The first device of claim 1 , further comprising: a plurality of control planes, the one or more processors being further to: update a multicast tree state table stored in each of the plurality of control planes based on the second plurality of data units.
The network device from the first description has multiple control planes. The device updates a multicast path table within each of these control planes based on the modified multicast data originally derived from the primary update. This ensures consistency across all control planes.
7. The first device of claim 1 , where the primary multicast tree state table comprises: a group address field, an upstream interface field, an upstream address field, a downstream interface field, and a downstream address field.
In the network device from the first description, the primary multicast path table includes fields for group address, upstream interface, upstream address, downstream interface, and downstream address, defining the path of the multicast traffic.
8. The first device of claim 1 , where the primary multicast tree state table and the secondary multicast tree state table comply with the Protocol-Independent Multicast-Sparse Mode (PIM-SM) protocol.
In the network device from the first description, both the primary and secondary multicast path tables comply with the Protocol-Independent Multicast-Sparse Mode (PIM-SM) protocol for managing multicast group membership and routing.
9. The first device of claim 1 , where, prior to updating the secondary multicast tree state table, the one or more processors are further to: check a status of the secondary multicast tree state table until the secondary multicast tree state table is determined to be available.
In the network device from the first description, before updating the secondary multicast path table, the device checks its status to ensure it's available for updates. The device waits until the secondary table is determined to be available before proceeding with the update.
10. The first device of claim 7 , where, when updating the secondary multicast tree state table, the one or more processors are to: update the secondary multicast tree state table following a predetermined delay after the secondary multicast tree state table is determined to be available.
In the network device that checks the secondary multicast path table status, when updating the secondary table, the device waits for a set period after determining that the secondary table is available before performing the update.
11. The first device of claim 9 , where, when updating the secondary multicast tree state table, the one or more processors are to: update the secondary multicast tree state table immediately after the secondary multicast tree state table is determined to be available.
In the network device that checks the secondary multicast path table status, when updating the secondary table, the device performs the update immediately after determining that the secondary table is available, without any delay.
12. A method comprising: updating, by a primary control unit of a device, a primary multicast tree state table based on a first plurality of data units, the first plurality of data units including information regarding a plurality of next-hops for a multicast stream in a multicast tree; formulating, by the primary control unit, a second plurality of data units based on the first plurality of data units, the second plurality of data units including information regarding a next-hop for the multicast stream; and updating, by a secondary control unit of the device, a secondary multicast tree state table after updating the primary multicast tree state table and based on the second plurality of data units.
A method involves a primary control unit updating its primary multicast path table based on received data containing multicast tree path information. The primary control unit generates a second set of data, also containing multicast path information, based on the received data. A secondary control unit then updates its secondary multicast path table, after the primary table is updated, using this second set of data.
13. The method of claim 12 , further comprising: formulating another data unit that includes information indicative of updating the primary multicast tree state table; and updating the secondary multicast tree state table based on the other data unit.
In the method from the previous description, the primary control unit formulates another data unit indicating that the primary multicast path table has been updated. The secondary control unit then updates its secondary multicast path table based on this additional data unit, confirming synchronization.
14. The method of claim 12 , further comprising: determining whether the primary multicast tree state table is available; routing the multicast stream based on first information stored in the primary multicast tree state table when the primary multicast tree state table is available; and routing the multicast stream based on second information stored in the secondary multicast tree state table when the primary multicast tree state table is not available.
The method from the multicast tree update description includes determining if the primary multicast path table is available. If available, multicast traffic is routed based on the information stored in the primary table. If the primary table is unavailable, the traffic is routed using the information stored in the secondary multicast path table, providing redundancy.
15. The method of claim 13 , further comprising: sending the other data unit from the primary control unit to the secondary control unit.
In the method where the primary unit sends update confirmations, the method includes sending the data unit confirming the primary table update from the primary control unit to the secondary control unit.
16. The method of claim 13 , where the first plurality of data units, the second plurality of data units, and the other data unit comprise at least one of join packets or prune packets.
In the method from the multicast tree update description, the data units used to update both the primary and secondary multicast path tables, and the update confirmation unit, are join or prune packets that signal changes in multicast group membership.
17. The method of claim 12 , further comprising: determining that the information regarding the plurality of next-hops for the multicast stream in the multicast tree is not stored in the primary multicast tree state table before updating the primary multicast tree state table based on the first plurality of data units.
The method from the multicast tree update description involves checking if the received multicast path information is already present in the primary multicast path table. The primary table is only updated if the information is not already stored.
18. The method of claim 17 , further comprising: receiving a third plurality of data units that includes other information regarding another plurality of next-hops; determining that the other information regarding the other plurality of next-hops is stored in the primary multicast tree state table; and ignoring the third plurality of data units without updating the primary multicast tree state table and without updating the secondary multicast tree state table after determining that the other information regarding the other plurality of next-hops is stored in the primary multicast tree state table.
In the method that checks for existing multicast path information, the method includes receiving another set of data containing different multicast path information. If this new information is already present in the primary table, the new data is ignored, and neither the primary nor the secondary table is updated.
19. A non-transitory computer-readable storage medium including instructions, the instructions comprising: one or more instructions that, when executed by the at least one processor of the first device, cause the at least one processor to: receive a first plurality of data units from a second device; update, based on the first plurality of data units, a primary multicast tree state table regarding a plurality of next-hops in a multicast tree; generate a second plurality of data units based on the first plurality of data units, the second plurality of data units being different from the first plurality of data units, and the second plurality of data units comprising information regarding a next-hop for a multicast stream; update a secondary multicast tree state table after updating the primary multicast tree state table and based on the second plurality of data units, the secondary multicast tree state table being different from the primary multicast tree state table; and forward a multicast data flow based on information stored in the secondary multicast tree state table when the primary multicast tree state table is unavailable.
A computer-readable medium contains instructions for a network device to receive data, update a primary multicast path table, generate modified data containing multicast path information, update a secondary multicast path table after updating the primary table, and forward multicast traffic based on the secondary table if the primary table is unavailable, ensuring redundancy.
20. The non-transitory computer-readable medium of claim 19 , where the instructions further comprise: one or more instructions that, when executed by the at least one processor of the first device, cause the at least one processor to: determine that the primary multicast tree state table is available after a period of unavailability; and update the primary multicast tree state table after determining that the primary multicast tree state table is available, based on information stored in the secondary multicast tree state table.
In the computer-readable medium from the previous description, the instructions further cause the device to detect when the primary multicast path table becomes available again after a period of unavailability. Once available, the primary table is updated based on the information stored in the secondary table, resynchronizing the primary table.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
February 4, 2011
August 20, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.