IP Library Granted Patent US 10,122,615
Granted Patent B2
US 10,122,615 · App. 15/376,966 · Granted Nov 6, 2018

Delayed updating of forwarding databases for multicast transmissions over telecommunications networks

Inventors: Ramasubramani Mahadevan (Tamil Nadu, IN); Pathangi N. Janardhanan (Tamil Nadu, IN)
Assignee: DELL PRODUCTS L.P.
H04L45/16H04L12/185H04L45/74H04L12/1886
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,122,615
App. No.
15/376,966
Filed
Dec 13, 2016
Granted
Nov 6, 2018
Kind
B2
Art Unit
2477
USPC
370/390
Abstract

A switch ( 110 R. 3 ) uses a forwarding database ( 140 F) to forward multicast packets. The switch participates in a multicast protocol (e.g. PIM) with other switches, and also uses a snooping database (e.g. for IGMP snooping) to learn about local group members, i.e. members for which the router serves as a local multicast router (e.g. the local members do not participate in the multicast protocol). When the switch learns of a local member of a multicast group, the switch updates the snooping database but may or may not install the snooping information in the forwarding database. Thus, the forwarding database is not necessarily provisioned for locally sourced data packets addressed to the group until receipt of a locally sourced data packet addressed to the group. If no such packets are received, the forwarding database is not provisioned for such packets, and therefore its size is reduced. Other features are also provided.

Claims (44)

1. A method comprising operating a first switch which is one of a plurality of switches interconnected and configured to provide one or more multicast distribution trees to distribute multicast packets, the first switch comprising one or more first interfaces and one or more second interfaces, the first and second interfaces being operable to receive multicast data packets, each first interface being operable to receive multicast data packets in at least one said multicast distribution tree, each second interface being operable to receive multicast data packets that do not arrive in any said multicast distribution tree but are to be forwarded by the first switch to a root of at least one said multicast distribution tree, the first switch using a forwarding database to make forwarding decisions for the multicast packets;

wherein operating the first switch comprises:

receiving, on a second interface, an indication for a new member of a multicast group;

in response to the indication:

(a) performing “first provisioning”, wherein the first provisioning is provisioning the forwarding database to provide forwarding decisions for forwarding to the new member of data packets addressed to the multicast group and received on the one or more first interfaces in at least one said multicast distribution tree;

(b) executing a predefined policy on performing “second provisioning”, wherein the second provisioning is provisioning the forwarding database to provide forwarding decisions for forwarding, to the new member, of data packets addressed to the multicast group and received on the one or more second interfaces, to cause the data packets to reach the new member without going through any said multicast distribution tree and without going through any one of said switches other than the first switch, the predefined policy comprising one or more instances when performance of at least some of the second provisioning is contingent on a later event;

wherein the later event comprises receiving, on a second interface, a data packet addressed to the multicast group;

wherein in at least one said instance, the second provisioning is not performed until occurrence of the later event.

2. The method of claim 1 wherein the later event does not occur, and the second provisioning is not performed.

3. The method of claim 1 further comprising performing at least some of the second provisioning in response to receiving the data packet addressed to the multicast group in the later event.

4. The method of claim 1 wherein the later event further comprises receiving from a network a command to provision the first switch to provide forwarding decisions for multicast data packets sent by a source of said data packet received in said later event.

5. The method of claim 1 wherein the predefined policy specifies that at least some of the second provisioning is to be performed in response to the indication without waiting for the later event only if the forwarding database is already provisioned for forwarding of multicast data packets addressed to the multicast group.

6. The method of claim 1 wherein the predefined policy specifies that the second provisioning is to be performed in response to the indication without waiting for the later event only if the forwarding database is already provisioned for forwarding of multicast data packets received on the same second interface as the indication and addressed to the multicast group.

7. The method of claim 5 wherein the predefined policy specifies that the second provisioning is to be performed in response to the indication without waiting for the later event if the forwarding database is already provisioned for forwarding of multicast data packets addressed to the multicast group and received (a) on the same second interface as the indication, and (b) either from a source address specified by the indication or, if the indication does not specify a source address, from any source address.

8. A method comprising operating a first switch which is one of a plurality of switches interconnected and configured to provide one or more multicast distribution trees to distribute multicast packets, the first switch comprising one or more first interfaces and one or more second interfaces, the first and second interfaces being operable to receive multicast data packets, each first interface being operable to receive multicast data packets in at least one said multicast distribution tree, each second interface being operable to receive multicast data packets that do not arrive in any said multicast distribution tree but are to be forwarded by the first switch to a root of at least one said multicast distribution tree, the first switch using a forwarding database to make forwarding decisions for the multicast packets, the first switch using a first database to store information on how multicast data packets received on the one or more second interfaces are to be forwarded, the first switch being operable to update the forwarding database from the first database;

wherein operating the first switch comprises:

receiving, on one or more second interfaces, one or more first indications for one or more new members of one or more multicast groups;

in response to the one or more first indications:

(a) performing “first provisioning”, wherein the first provisioning is provisioning the forwarding database to provide forwarding decisions for forwarding to the one or more members of data packets addressed to the corresponding one or more multicast groups and received on the one or more first interfaces in at least one said multicast distribution tree;

(b) storing, in the first database, one or more second indications that multicast data packets received on the one or more second interfaces and addressed to the one or more multicast groups are to be forwarded to the corresponding one or more new members to reach the one or more new members without going through any said multicast distribution tree and without going through any one of said switches other than the first switch;

(c) executing a predefined policy on performing “second provisioning”, wherein the second provisioning is updating the forwarding database from the first database to reflect the one or more second indications, the predefined policy comprising one or more instances when performance of at least some of the second provisioning is contingent on one or more later events;

wherein for at least one first indication, the corresponding one or more later events comprise receiving, on a second interface, a data packet addressed to the corresponding multicast group, and in at least one said instance, the second provisioning is not performed until occurrence of the corresponding one or more later events.

9. The method of claim 8 wherein for at least one first indication, the corresponding one or more later events do not occur, and the forwarding database is not updated to reflect the one or more corresponding second indications from the first database.

10. The method of claim 8 wherein for at least one first indication, the corresponding one or more later events consist of receiving, on a second interface, a data packet addressed to the corresponding multicast group.

11. The method of claim 8 wherein for at least one first indication, the corresponding one or more later events consist of receiving, on a second interface, a data packet (i) addressed to the corresponding multicast group, and (ii) having a source address identical to a source address of the first indication if the first indication comprises a source address.

12. The method of claim 8 wherein for at least one first indication, the corresponding one or more later events consist of receiving, on a second interface, a data packet (i) addressed to the corresponding multicast group, (ii) having a source address identical to a source address of the first indication if the first indication comprises a source address, and (iii) received on the same second interface as the first indication.

13. The method of claim 8 wherein for at least one first indication, the corresponding one or more later events consist of receiving a multicast data packet on a second interface.

14. The method of claim 8 wherein for at least one first indication, the corresponding one or more later events consist of:

receiving, on a second interface, a data packet addressed to the corresponding multicast group; and then

receiving from a network a corresponding command to provision the first switch to provide forwarding decisions for multicast data packets sent by a source of said data packet of the corresponding later event.

15. The method of claim 8 wherein for at least one first indication, the predefined policy specifies that the corresponding second provisioning is to be performed in response to the first indication without being contingent on a later event only if the forwarding database is already provisioned for forwarding of multicast data packets addressed to the corresponding multicast group.

16. The method of claim 8 wherein for at least one first indication, the predefined policy specifies that the corresponding second provisioning is to be performed in response to the first indication without being contingent on a later event only if the forwarding database is already provisioned for forwarding of multicast data packets received on the same second interface as the first indication and addressed to the corresponding multicast group.

17. The method of claim 16 wherein for at least one first indication, the predefined policy specifies that the corresponding second provisioning is to be performed in response to the first indication without being contingent on a later event if:

the first indication specifies a source address from which the corresponding new member is to receive data packets addressed to the corresponding multicast group; and

the forwarding database is already provisioned for forwarding of multicast data packets received on the same second interface as the first indication and either from the same source address as specified by the first indication or, if the first indication does not specify the source address, from any source address, and addressed to the corresponding multicast group.

18. The method of claim 8 wherein the first forwarding database is stored in a data plane of the first switch, and the first database is stored in a control plane of the first switch.

19. A first switch which is a network switch configured to operate as one of a plurality of switches configured to provide one or more multicast distribution trees to distribute multicast packets, the first switch comprising one or more first interfaces and one or more second interfaces, the first and second interfaces being operable to be configured to receive multicast data packets, each first interface being operable to receive multicast data packets in at least one said multicast distribution tree, each second interface being operable to receive multicast data packets that do not arrive in any said multicast distribution tree but are to be forwarded by the first switch to a root of at least one said multicast distribution tree, wherein the first switch comprises a data plane configured to use a forwarding database to make forwarding decisions for the multicast packets, and comprises a control plane configured to use a first database to store information on how multicast data packets received on the one or more second interfaces are to be forwarded, the first switch being configured to update the forwarding database from the first database;

wherein the first switch is operable to perform operations of:

receiving, on one or more second interfaces, one or more first indications for one or more new members of one or more multicast groups;

in response to the one or more first indications:

(a) performing “first provisioning”, wherein the first provisioning is provisioning the forwarding database to provide forwarding decisions for forwarding to the one or more members of data packets addressed to the corresponding one or more multicast groups and received on the one or more first interfaces in at least one said multicast distribution tree;

(b) storing, in the first database, one or more second indications that multicast data packets received on the one or more second interfaces and addressed to the one or more multicast groups are to be forwarded to the corresponding one or more new members to reach the one or more new members without going through any said multicast distribution tree and without going through any one of said switches other than the first switch;

(c) executing a predefined policy on performing “second provisioning”, wherein the second provisioning is updating the forwarding database from the first database to reflect the one or more second indications, the predefined policy comprising one or more instances when performance of at least some of the second provisioning is contingent on one or more later events;

wherein for at least one first indication, the corresponding one or more later events comprise receiving, on a second interface, a data packet addressed to the corresponding multicast group, and in at least one said instance, the second provisioning is not performed until occurrence of the corresponding one or more later events.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (041829/0873) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0724 →
RELEASE OF SECURITY INTEREST AT REEL 041808 FRAME 0516 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0573 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY INTEREST (NOTES) Recorded Feb 28, 2017
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 041829/0873 →
PATENT SECURITY INTEREST (CREDIT) Recorded Feb 24, 2017
From: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 041808/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2016
From: MAHADEVAN, RAMASUBRAMANI; JANARDHANAN, PATHANGI N.
To: DELL PRODUCTS L.P.
Reel/Frame 040722/0801 →
Continuity (2)
Continuation 14151610 · Jan 9, 2014
Related Publication 20170093690A1 · Mar 30, 2017
Cited By (1)
US 12,506,725