# US 2014/0153437 A1 · Determining Multicast Root Nodes in a Telecommunications Network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0153437 A1
- Document ID: US20140153437A1
- Status: Published application
- Kind: A1
- Application number: 13/691,043
- Filed: 2012-11-30
- Published: 2014-06-05
- Earliest claimed: 2012-11-30
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Leonard Tracy; Santosh Rajagopalan; Sanjay Sane; Ronak Desai; Varun Shah
- Web page: https://patentgrep.com/patent/US20140153437A1

## CPC

- H04L 45/16: Multipoint routing
- H04L 41/08: Configuration management of networks or network elements (address allocation H04L61/50)
- H04L 45/484: using multiple routing trees
- H04L 49/15: Interconnection of switching modules
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In an embodiment, a method comprises: detecting a change in a multiple-switch configuration in a data communications network comprising a plurality of packet data switches configured as roots of multicast trees. In response to detecting that the multiple-switch configuration has changed, a first value, a second value and a third value representing limits on a number of multicast trees supported in the network and prioritization of the switches are retrieved. The method further comprises determining a type of the multiple-switch configuration change. In response to determining that the type indicates that a first switch was added to the multiple-switch configuration, using at least the first, second and third values, it is determined whether to configure the first switch as a first root in the multiple-switch configuration. The method is performed by one or more computing devices.

## Claims

### Claim 1

A method comprising:
detecting a change in a multiple-switch configuration in a data communications network comprising a plurality of packet data switches configured as roots of multicast trees;
in response to detecting that the multiple-switch configuration has changed:
retrieving a first value, a second value and a third value representing limits on a number of multicast trees supported in the network and prioritization of the switches;
determining a type of the multiple-switch configuration change;
in response to determining that the type indicates that a first switch was added to the multiple-switch configuration, determining, using at least the first, second and third values, whether to configure the first switch as a first root in the multiple-switch configuration;
wherein the method is performed by one or more computing devices.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
in response to determining that the type indicates that a second switch was removed from the multiple-switch configuration, determining, using at least the first, second and third values, whether to configure a remaining switch of the multiple-switch configuration as a second root.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
in response to determining that the type indicates that a third priority of a third switch in the multiple-switch configuration has changed, determining, using at least the first, second and third values, whether to configure the third switch as a third root in the multiple-switch configuration.

### Claim 4 (depends on 3)

The method of claim 3, wherein:
the first value indicates a maximum quantity of multi-destination trees that the network supports;
the second value indicates a minimum quantity of the multi-destination trees that the network supports;
the third value indicates a minimum priority value used to determine whether a particular node becomes a particular root and is not lesser than an edge default priority value and not greater than a core default priority value.

### Claim 5 (depends on 3)

The method of claim 3, further comprising:
in response to determining to configure the first root, the second root or the third root, updating data in one or more forwarding tables of the switches.

### Claim 6 (depends on 1)

The method of claim 1, further comprising configuring the first switch as the first root in response to determining that a current quantity of roots in the multiple-switch configuration is lesser than the first value, or in response to determining that the current quantity of roots is not lesser than the first value, but a first priority associated with the first switch is higher than any priority of any node in a current set of roots, or in response to determining that the current quantity of roots is lesser than the second value and the first priority associated with the first switch is greater than the third value.

### Claim 7 (depends on 2)

The method of claim 2, further comprising configuring the remaining switch of the multiple-switch configuration as the second root in response to determining that a current quantity of roots in the multiple-switch configuration is no greater than the first value and a second priority of the remaining switch is not lower than the third value, or in response to determining that the current quantity of roots in the multiple-switch configuration is lesser than the first value and the second priority of the remaining switch is higher than any other priority of any other root in a current set of roots.

### Claim 8 (depends on 3)

The method of claim 3,
further comprising retaining a configuration of the third switch of the multiple-switch configuration as the third root in response to determining that the third switch belongs to a current set of roots and the third priority is not lower than the third value;
further comprising configuring the third switch of the multiple-switch configuration as the third root in response to determining that the third switch did not belong to the current set of roots, the third priority is greater than the third value and there was at least one node in the current set of roots with a priority lower than the third value, or in response to determining that the third switch did not belong to the current set of roots, the third priority is greater than the third value and a current quantity of roots in the multiple-switch configuration is lesser than the second value.

### Claim 9

A non-transitory computer-readable storage medium storing one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform:
detecting a change in a multiple-switch configuration in a data communications network comprising a plurality of packet data switches configured as roots of multicast trees;
in response to detecting that the multiple-switch configuration has changed:
retrieving a first value, a second value and a third value representing limits on a number of multicast trees supported in the network and prioritization of the switches;
determining a type of the multiple-switch configuration change;
in response to determining that the type indicates that a first switch was added to the multiple-switch configuration, determining, using at least the first, second and third values, whether to configure the first switch as a first root in the multiple-switch configuration.

### Claim 10 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, further storing instructions which, when executed, cause the one or more processors to perform:
in response to determining that the type indicates that a second switch was removed from the multiple-switch configuration, determining, using at least the first, second and third values, whether to configure a remaining switch of the multiple-switch configuration as a second root.

### Claim 11 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, further storing instructions which, when executed, cause the one or more processors to perform:
in response to determining that the type indicates that a third priority of a third switch in the multiple-switch configuration has changed, determining, using at least the first, second and third values, whether to configure the third switch as a third root in the multiple-switch configuration.

### Claim 12 (depends on 11)

The non-transitory computer-readable storage medium of claim 11, wherein:
the first value indicates a maximum quantity of multi-destination trees that the network supports;
the second value indicates a minimum quantity of the multi-destination trees that the network supports;
the third value indicates a minimum priority value used to determine whether a particular node becomes a particular root and is not lesser than an edge default priority value and not greater than a core default priority value.

### Claim 13 (depends on 12)

The non-transitory computer-readable storage medium of claim 12, further storing instructions which, when executed, cause the one or more processors to perform:
in response to determining to configure the first root, the second root or the third root, updating data in one or more forwarding tables of the switches.

### Claim 14 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, further comprising instructions which, when executed, cause the one or more processors to perform: configuring the remaining switch of the multiple-switch configuration as the second root in response to determining that a current quantity of roots in the multiple-switch configuration is no greater than the first value and a second priority of the remaining switch is not lower than the third value, or in response to determining that the current quantity of roots in the multiple-switch configuration is lesser than the first value and the second priority of the remaining switch is higher than any other priority of any other root in a current set of roots.

### Claim 15 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, further comprising instructions which, when executed, cause the one or more processors to perform: retaining a configuration of the third switch of the multiple-switch configuration as the third root in response to determining that the third switch belongs to a current set of roots and the third priority is not lower than the third value; configuring the third switch of the multiple-switch configuration as the third root in response to determining that the third switch did not belong to the current set of roots, the third priority is greater than the third value and there was at least one node in the current set of roots with a priority lower than the third value, or in response to determining that the third switch did not belong to the current set of roots, the third priority is greater than the third value and a current quantity of roots in the multiple-switch configuration is lesser than the second value.

### Claim 16 (depends on 11)

The non-transitory computer-readable storage medium of claim 11,
wherein the third switch of the multiple-switch configuration remains the third root in response to determining that the third switch belongs to a current set of roots and the third priority is not lower than the third value;
wherein the third switch of the multiple-switch configuration becomes the third root in response to determining that the third switch did not belong to the current set of roots, the third priority is greater than the third value and there was at least one node in the current set of roots with a priority lower than the third value; or in response to determining that the third switch did not belong to the current set of roots, the third priority is greater than the third value and a current quantity of roots in the multiple-switch configuration is lesser than the second value.

### Claim 17

A packet data switch comprising:
one or more processors;
a traffic processing unit coupled to the one or more processors and configured to perform detecting that a multiple-switch configuration in a network has changed;
a selector unit coupled to the traffic processing unit and to the one or more processors and configured to perform:
detecting a change in a multiple-switch configuration in a data communications network comprising a plurality of packet data switches configured as roots of multicast trees;
in response to detecting that the multiple-switch configuration has changed:
retrieving a first value, a second value and a third value representing limits on a number of multicast trees supported in the network and prioritization of the switches;
determining a type of the multiple-switch configuration change;
in response to determining that the type indicates that a first switch was added to the multiple-switch configuration, determining, using at least the first, second and third values, whether to configure the first switch as a first root in the multiple-switch configuration;
wherein the first value indicates a maximum quantity of multi-destination trees that the network supports; wherein the second value indicates a minimum quantity of the multi-destination trees that the network supports; wherein the third value indicates a minimum priority value used to determine whether a particular node becomes a particular root and is not lesser than an edge default priority value and not greater than a core default priority value.

### Claim 18 (depends on 17)

The packet data switch of claim 17, wherein the selector unit is further configured to perform: in response to determining that the type indicates that a second switch was removed from the multiple-switch configuration, determining, using at least the first, second and third values, whether to configure a remaining switch of the multiple-switch configuration as a second root.

### Claim 19 (depends on 18)

The packet data switch of claim 18, wherein the selector unit is further configured to perform: in response to determining that the type indicates that a third priority of a third switch in the multiple-switch configuration has changed, determining, using at least the first, second and third values, whether to configure the third switch as a third root in the multiple-switch configuration.

### Claim 20 (depends on 19)

The packet data switch of claim 19, wherein the selector unit is further configured to perform:
configuring the first switch as the first root in response to determining that a current quantity of roots in the multiple-switch configuration is lesser than the first value, or in response to determining that the current quantity of roots is not lesser than the first value, but a first priority associated with the first switch is higher than any priority of any node in a current set of roots, or in response to determining that the current quantity of roots is lesser than the second value and the first priority associated with the first switch is greater than the third value;
configuring the remaining switch of the multiple-switch configuration as the second root in response to determining that a current quantity of roots in the multiple-switch configuration is no greater than the first value and a second priority of the remaining switch is not lower than the third value, or in response to determining that the current quantity of roots in the multiple-switch configuration is lesser than the first value and the second priority of the remaining switch is higher than any other priority of any other root in a current set of roots;
retaining a configuration of the third switch of the multiple-switch configuration as the third root in response to determining that the third switch belongs to a current set of roots and the third priority is not lower than the third value;
configuring the third switch of the multiple-switch configuration as the third root in response to determining that the third switch did not belong to the current set of roots, the third priority is greater than the third value and there was at least one node in the current set of roots with a priority lower than the third value, or in response to determining that the third switch did not belong to the current set of roots, the third priority is greater than the third value and a current quantity of roots in the multiple-switch configuration is lesser than the second value.
