US7639685B2 - Method and apparatus for multicast forwarding - Google Patents
Method and apparatus for multicast forwarding Download PDFInfo
- Publication number
- US7639685B2 US7639685B2 US11/603,932 US60393206A US7639685B2 US 7639685 B2 US7639685 B2 US 7639685B2 US 60393206 A US60393206 A US 60393206A US 7639685 B2 US7639685 B2 US 7639685B2
- Authority
- US
- United States
- Prior art keywords
- packet
- copies
- memory
- information
- generate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000009471 action Effects 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims description 20
- 230000003362 replicative effect Effects 0.000 claims 2
- 238000007789 sealing Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 21
- 230000000875 corresponding effect Effects 0.000 description 6
- 239000004744 fabric Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
Definitions
- multicasting is used in industry today to enable a network node to send a single packet or a data stream of information to multiple destination nodes in one transmission.
- the ability for a network node to send a single packet of information to multiple destinations is useful, but has limitations, such as scalability.
- a method or corresponding apparatus in an exemplary embodiment of the present invention determines how many copies of a multicast packet to send, as copies, to multiple destinations based on (i) information in the multicast packet and (ii) a group (e.g., bridge node) with which the packet is associated.
- a system employing the embodiment determines an action to take for each copy. This determination is made using information in the multicast packet and information based on the group with which the multicast packet is associated. The system thereafter performs the action on each copy.
- FIG. 1 is a network diagram of a network having network nodes multicast forwarding (“multicasting”) packets using an embodiment of the present invention
- FIG. 2 is a high level view of an example line card and associated components used in a network node to perform the multicasting
- FIG. 3 is a block diagram of another example line card
- FIG. 4A is a schematic diagram of another example line card
- FIG. 4B is a schematic diagram of another example line card illustrating egress operations
- FIGS. 5A-5I are block diagrams of components in a line card at various stages of multicasting a packet in an egress direction;
- FIG. 6 is a flow diagram of an example technique of performing multicast forwarding according to an embodiment of the present invention.
- FIG. 7 is a flow diagram corresponding to performing multicast forwarding.
- FIG. 1 is a high level network diagram of a network 100 in which multicast forwarding may be performed.
- a Provider Edge (PE) router 105 is connected to multiple end nodes (e.g., customers 1 - 3 120 a - c ). Using these connections, the PE router 105 may send copies of a multicast packet 125 , such as packets 110 or packets 115 , to end nodes, represented by a single node (e.g., customer 1 120 a ), that may be on a virtual private network V 1 or multiple virtual private networks V 1 and V 2 .
- a multicast packet 125 such as packets 110 or packets 115
- the PE router 105 may use line cards (not shown) configured to perform such tasks.
- FIG. 2 is a high level view of an example line card 200 that includes a Programmable Line Module (PLM) 210 and a Universal Line Card (ULC) 215 and interacts with (shown) or is integrated into (not shown) a Provider Edge (PE) router 205 .
- PLM Programmable Line Module
- ULC Universal Line Card
- the PE router 205 communicates with the ULC 215 using the PLM 210 .
- the ULC 215 connects to a switch fabric 220 in such a manner as to send and receive copies of multicast packets (not shown).
- the ULC 215 makes a determination that a packet is a multicast packet and makes a decision to copy and send the copies of the multicast packet.
- FIG. 3 is a diagram of an example line card 300 with details of egress components 309 and ingress components 329 in a ULC 305 .
- a PLM 307 in FIG. 3 is used to form a connection to a PE router 345 and the ULC 305 .
- the ingress and egress components 309 , 329 process incoming and outgoing packets, respectively, whether they are unicast or multicast packets.
- the ULC 305 contains an Egress Packet Processor (EPP) 310 , an Egress Packet Manager (EPM) 315 , and an Egress Packet Scheduler (EPS) 320 .
- the EPP 310 , EPM 315 , and EPS 320 interact together to process a multicast packet (not shown) received from a switch fabric 360 .
- a Content Addressable Memory (CAM) 340 which has a total fixed memory but may be replaced with a CAM with larger memory, may be used by the EPP 310 to help make decisions during processing.
- CAM Content Addressable Memory
- the ULC 305 Similar to the egress components 309 and Content Addressable Memory (CAM) 340 , the ULC 305 also includes ingress components 329 and has its own CAM 350 .
- the ingress components 329 in the example ULC 305 include an Ingress Packet Processor (IPP) 325 , Ingress Packet Manager (IPM) 335 , Ingress Packet Scheduler (IPS) 330 , and the CAM 350 .
- IPP Ingress Packet Processor
- IPM Ingress Packet Manager
- IPS Ingress Packet Scheduler
- an Application Specific Integrated Circuit (ASIC) 355 may be employed.
- the ASIC 355 allocates memory that stores configuration information used during processing of a multicast packet (not shown).
- the ASIC 355 typically has limited memory and may be located separately or within, either physically or logically, the EPS 320 or IPS 330 . The location of the ASIC 355 may be based on whether the egress or ingress components 309 , 329 are performing multicast forwarding.
- a multicast packet 302 may be received and processed by the ingress components 329 .
- the ingress components 329 may forward the multicast packet 302 to a switch fabric 360 , which, in turn, may direct the multicast packet 302 to the egress components 309 for delivery to local subinterface(s) 301 a - e or to egress components on another ULC (not shown) for delivery to remote subinterface(s).
- the ASIC 355 When performing multicast forwarding, effective use of memory in the ASIC 355 is useful.
- the ASIC 355 typically has 4096 k of memory, so storing information for generating multiple copies of multicast packets for each group (i.e., V 1 , V 2 , V 3 and so forth) burdens the memory.
- a three stage process described below in reference to FIG. 4B , may be used.
- the three stage process provides an example technique to generate copies of a multicast packet in a manner that effectively uses memory within the ASIC 355 .
- Memory such as the CAM 340 , may be employed as part of the example three stage process.
- the CAM 340 stores configuration information (e.g., (i) how many copies to generate and (ii) schedule information).
- configuration information e.g., (i) how many copies to generate and (ii) schedule information.
- a single unit of memory is allocated for a subinterface regardless of how many bridge groups (i.e., V 1 , V 2 , V 3 , and so forth) are supported by the ASIC.
- the total number of units of memory used is equal to the maximum number of subinterfaces that exist on any bridge group (i.e., V 1 , V 2 , V 3 , and so forth), where a single unit of memory is used to generate one copy. For example, if bridge groups V 1 , V 2 , and V 3 have 4, 5, and 6 interfaces (i.e., physical subinterfaces, or ports), respectively, then six units of memory are used in the ASIC.
- example three stage process may alternatively use more or fewer stages.
- Embodiments with other number of stages that make effective use of the limited ASIC memory or other device memory in a multicast environment are also considered within the scope of the present invention.
- FIG. 4A shows a detailed diagram of how processing of a multicast packet 405 is performed by an example ULC 400 .
- a multicast packet 405 is sent by a switch fabric 480 and received by an Egress Packet Manager (EPM) 410 .
- the EPM 410 sends the multicast packet 405 via a connection 415 to an Egress Packet Processor (EPP) 420 to determine configuration information by using a look-up 425 or otherwise determining configuration information.
- EPP Egress Packet Processor
- the look-up 425 may be performed by accessing a Content Addressable Memory (CAM) 470 .
- CAM Content Addressable Memory
- At least some information stored in the CAM 470 represents how many copies of the multicast packet 405 are to be sent, as copies, to multiple destinations. This information is returned to the EPP 420 and sent as feedback, Feedback 1 , 430 to the EPM 410 .
- the EPM 410 Upon receiving the feedback 430 , the EPM 410 sends the feedback 430 to an Egress Packet Scheduler (EPS) 460 for processing.
- EPS Egress Packet Scheduler
- the EPS 460 may make a determination of whether the look-up 425 failed. If the look-up 425 failed, the multicast packet 405 is dropped, and no further processing is performed. If the look-up 425 was successful, copies 435 of the multicast packet 405 are generated by the EPS 460 and sent to the EPP 420 via a connection 415 to the EPM 410 .
- the EPP 420 After receiving the generated copies, the EPP 420 performs another look-up 440 , or otherwise determines or retrieves information, in the CAM 470 to determine what action should be taken for each of the copies generated. After the EPP 420 completes this look-up 440 , a second feedback, Feedback 2 , 445 is returned to the EPM 410 .
- the EPM 410 responds by sending each copy along with the necessary action to perform, i.e., Feedback 2 445 , to the EPS 460 .
- the EPS 460 performs the action indicated for each copy and sends the copies 435 of the multicast packets back to the EPP 420 .
- the EPP 420 After receiving the multicast packets, the EPP 420 sends the copies 435 as processed copies 455 based on information, such as schedule information, provided by the EPS 460 along with the appropriate information to a Programmable Line Module (PLM) 460 .
- PLM Programmable Line Module
- the PLM 460 Upon receiving the multicast packets 405 , the PLM 460 sends the multicast packets to a PE Router 465 where these multicast packets are sent to the location specified by the EPS 460 and possibly supplemented with information determined in a third look-up 475 .
- the processed copies 455 may also be encapsulated by the EPP 420 with the appropriate header or overhead information for communication with another node, such as a customer edge node. Based on the information in the packets 455 , the PLM 460 sends the packets 455 via a subinterface 401 a - e to the specified destinations.
- an ingress process may be capable of performing the same or a similar process in a similar manner.
- FIG. 4B is an exploded view of an egress process described above in reference to FIG. 4A .
- a multicast packet 405 is received on a line card's switch fabric 480 .
- This switch fabric 480 contains a multicast Output Connection Identifier (OCID) (not shown).
- the OCID has a corresponding OCID Static Random Access Memory (SRAM) (OSR) that indicates the multicast packet 405 is a multicast packet to which multicast processing is to be applied.
- SRAM Static Random Access Memory
- the multicast process can be viewed as having three stages as seen in FIG. 4B . Each stage is represented by the appropriate numerical representation (e.e., 1, 2, or 3).
- a multicast packet 405 is sent to the EPM 410 , which, in turn, sends the multicast packet 405 to the EPP 420 .
- the EPP 420 After receiving the multicast packet 405 , the EPP 420 performs a look-up using the CAM 470 .
- the CAM 470 look-up is done using the OCID of the multicast packet as a look-up key along with a Virtual Private LAN Services Identifier (VPLSID) which is associated with the multicast packet 405 .
- VPLSID Virtual Private LAN Services Identifier
- the OCID and VPLSID information is typically stored in the multicast packet header.
- a Connection Identifier (CID) 467 is returned from the CAM 470 .
- the EPP 420 sends the multicast packet to the EPM 410 , via a feedback path 485 , along with the CID 467 .
- the EPM 410 sends the CID 467 and the multicast packet 405 to the Application Specific Integrated Circuit (ASIC) EPS 490 to begin Stage 2 .
- ASIC Application Specific Integrated Circuit
- the ASIC 490 may include circuitry to perform other processes.
- the ASIC EPS 490 uses the CID 467 in the multicast packet 405 to determine the number of copies 494 to generate 496 on this line card for any customer or group.
- a pointer to a node in a linked list 492 can be used in this capacity.
- the multicast packets 494 are then generated and sent to the EPM 410 .
- the linked list 492 is employed to generate copies of the multicast packet 405 . For example, if there are four copies to be sent and the linked list 492 includes six nodes, the pointer (not shown) references a node two nodes “downstream” of a head node and four nodes “upstream” of a tail node. In this way, memory in the ASIC 490 is conserved.
- an array or other data structure may be employed. For example, single or double linked lists may be implemented.
- the EPM 410 sends the multicast packets 494 , including the CID 467 and the VPLSID, to the EPP 420 to perform a second look-up.
- the EPP 420 performs a CAM 470 look-up to determine the actual port/flow OCID (i.e., CID 467 ), as well as other parameters relating to the multicast packet 405 , such as a mesh group and an egress flow Identifier (ID) for a VPLS. If the CAM 470 look-up fails, the multicast packet 405 is dropped. If the look-up is successful, the packets are returned via the feedback path 485 to the EPM 410 . The EPM 410 sends the packets 494 along with the other parameters back to the ASIC 490 to begin Stage 3 .
- Stage 3 begins with the ASIC EPS 490 , using the parameters sent via the feedback path 485 , to schedule the copies 494 of the multicast packet 405 to produce copies 498 with scheduling information.
- These encapsulated copies 498 of multicast packet 405 are sent back to the EPM 410 with the port/flow OCID VPLS instance and other parameters or scheduling information.
- the EPP 420 may perform a final CAM 470 look-up using the port/flow OCID and the VPLS instance to determine the CID 467 for the copies 498 of the multicast packet 405 and encapsulate the multicast packets 498 .
- This information is returned to the EPP 420 , which, based on this information, sends the encapsulated multicast packets 499 to the PLM 460 .
- the copies 499 of the multicast packet 405 are forwarded to destination nodes (e.g., client edge (CE) nodes).
- CE client edge
- FIGS. 5A-5I show expanded views of the components of FIG. 4A in view of the three stages of FIG. 4B .
- FIG. 5A is a block diagram illustrating an EPM 510 , which is connected in a bi-directional manner to an EPS 515 , receiving a multicast packet 505 .
- no specific communication is sent between the EPM 510 and EPS 515 when the EPM 510 initially receives the multicast packet 505 .
- the EPM 510 is also connected to an EPP 525 , to which the EPM 510 sends the multicast packet 505 .
- the EPP 525 After receiving the multicast packet 405 , the EPP 525 performs a look-up or similar process, as illustrated in FIG. 5B .
- An example look-up may be in the form of “(V 1 , packet info),” where V 1 is a key (e.g., ⁇ OCID, VPLSID>) and “packet info” is information about the packet.
- FIG. 5B is a block diagram illustrating the interaction between the EPP 525 and a CAM 530 when a look-up 535 is performed.
- the EPP 525 performs a look-up 535 in the CAM 530 to determine how many copies of a multicast packet 505 of FIG. 5A are to be sent, as copies, to multiple destinations.
- a result 540 having the number of copies to generate is returned to the EPP 525 .
- Other techniques such as calculating the number of copies to generate, may alternatively be employed to determine the result 540 in other network embodiments or with communications protocols having other forms of information in the multicast packet 505 .
- the result 540 is then sent to the EPM 510 (not shown) for further processing, as illustrated in FIG. 5C .
- FIG. 5C is a block diagram illustrating feedback 545 being returned to the EPM 510 .
- the feedback 545 includes the multicast packet 505 that is sent to the EPM 510 with information containing the number of packets 547 to generate.
- the EPM 510 Upon receiving the multicast packet 505 , the EPM 510 sends the multicast packet 505 along with the number of copies to generate 547 to the EPS 515 .
- the EPS 515 using the feedback 545 , generates the specified number of copies of the multicast packet 505 .
- the EPS 515 forwards the generated copies 512 to the EPM 510 for further processing, as illustrated in FIG. 5D .
- FIG. 5D is a block diagram illustrating how the EPM 510 responds after receiving the copies 512 of the multicast packet 505 generated by the EPS 515 .
- the EPM 510 sends the generated copies 512 to the EPP 525 to perform another look-up.
- This look-up provides what action is to be performed for each of the copies 512 , as illustrated in FIG. 5E .
- Example look-ups may be in the form of: (V 1 , packet info 1 ), (V 1 , packet info 2 ), . . . , (V 1 packet info n), where V 1 is a key (e.g., ⁇ OCID, VPLSID>), and “packet info #” is information about the respective packet.
- FIG. 5E is an exploded view of a look-up 560 by the EPP 525 using a CAM 530 .
- the EPP 525 after receiving copies 512 of the generated multicast packets 505 from the EPM 510 , performs a look-up 560 to determine the action to perform for each respective copy.
- the CAM 530 returns a result 565 to the EPP 525 containing the action to perform for each copy based on the information in each multicast packet 505 and a group (e.g., a VPLS) with which the multicast packet is associated.
- the results 565 are returned to the EPS 515 , as illustrated in FIG. 5F .
- FIG. 5F is a block diagram illustrating a feedback path 547 between the EPP 525 and the EPM 510 .
- the EPP 525 sends the copies 512 of the multicast packets 505 having respective actions to perform 565 , collectively packets 550 , to the EPM 510 , which, in turn, sends the packets 550 to the EPS 515 .
- FIG. 5G is a block diagram illustrating the EPS 515 receiving the copies 550 from the EPM 510 .
- the EPS 515 performs the respective actions for each copy.
- the resulting multicast packets 570 are sent to the EPM 510 with scheduling information 552 .
- the EPM 510 then sends the multicast packets 570 to the EPP 525 to perform another look-up based on the multicast packets' scheduling information 552 , as illustrated in FIG. 5H .
- FIG. 5H is a block diagram illustrating the EPP 525 performing a look-up 575 using the scheduling information provided by the EPS 515 .
- the look-up 575 is performed to determine the destination (e.g., Connection Identifier (CID) 582 ) for each copy 570 of the multicast packet 505 .
- CID Connection Identifier
- a result 580 (such as customer information associated with a CID) is returned to the EPP 525 .
- the EPP 525 also encapsulates the data.
- FIG. 5I is a block diagram illustrating the EPP 525 sending copies 595 of the multicast packet 505 , optionally with the respective customer information 580 from the third look-up 575 of FIG. 5H , to a line card subinterface 585 of a Programmable Line Module (PLM) (not shown).
- PLM Programmable Line Module
- the PLM sends the copies 595 multicast packets 505 to a Provider Edge (PE) Router. After receiving the multicast packets 595 , the PE Router forwards the multicast packets 595 to their respective destinations.
- PE Provider Edge
- FIG. 6 is a flow diagram 600 illustrating an example multicast forwarding process.
- the multicast process determines ( 605 ) whether a packet is a multicast packet to be copied and sent to multiple destinations. If the multicast packet is not sent to multiple destinations, the multicast packet is passed through ( 610 ) to its intended destination. If the multicast packet is to be sent to multiple destinations ( 605 ), a determination is made ( 615 ) as to how many copies of the multicast packets are to be generated. The copies are generated based on information in the multicast packet and a group with which the multicast packet is associated.
- the copies are generated ( 620 ).
- a determination as to what action to perform for each copy ( 625 a / 625 b ) is made based on the information in the multicast packet and the group with which the multicast packet is associated.
- a corresponding action e.g., enforce a Service Level Agreement (SLA), transmit at a given rate, modify the packet, or drop the packet
- SLA Service Level Agreement
- FIG. 7 is a flow diagram 700 of an example process to forward multicast packets.
- a determination is made as to whether a multicast packet is to be sent as copies to multiple destinations ( 705 ).
- the determination of the number of copies to generate is made based on information in the multicast packet and a group with which the multicast packet is associated ( 710 ).
- the copies are generated ( 715 ) based on the determination of 710 and scheduling information for each copy.
- the copies are scheduled and transmitted to a destination as indicated in the multicast packet ( 720 ).
- a method or corresponding apparatus in an exemplary embodiment of the present invention determines how many copies of a multicast packet are to be sent, as copies, to multiple destinations based on information in the multicast packet and a group (e.g., bridge node) with which the packet is associated.
- the copies of the multicast packets are then generated.
- an action to take for each copy is determined. This determination is made using the information in the multicast packet and based on the group with which the packet is associated.
- the action is performed on each copy.
- Example actions performed on each copy may include at least one of the following: enforcing a Service Level Agreement (SLA), transmitting at a given rate, modifying the multicast packet, or dropping the multicast packet.
- SLA Service Level Agreement
- a multicast packet may be encapsulated in order to send the multicast packet in a predefined manner to a destination.
- the predefined manner may be a format understood by a receiving node.
- CAM Content-Addressable Memory
- memory may be configured to store (i) first information of how many copies of a packet to generate, (ii) second information of an action to take for each copy.
- the memory may also provide the first information based on information in the packet and a group with which the packet is associated or the second information based on the information in the packet and the group with which the packet is associated.
- a processor may be coupled to the memory that generates the copies based on the first information from the memory and performs the action on the respective copies based on the second information from the memory.
- the processor can be configured to enforce a Service Level Agreement (SLA), transmit a given rate, modify the packet, or drop the packet.
- SLA Service Level Agreement
- the processor may encapsulate multicast packets to send to a destination in a predefined manner. These multicast packets may be encapsulated in such a manner as to be compatible with a receiving node.
- memory may be configured to store (i) information of how many copies to generate based on information in a multicast packet and a group with which the multicast packet is associated, and (ii) an action for each copy which is to be performed based on information in the multicast packet and the group in which the multicast packet is associated.
- This memory may use a single memory element, however, the memory of both (i) and (ii) may use separate memory elements.
- This stored information is accessible from the memory by using a look-up table. This look-up table/memory is typically Content-Addressable Memory (CAM).
- CAM Content-Addressable Memory
- a first memory may be configured to store information used to generate multiple copies of a packet.
- This first memory may be a memory location that is limited in storage capacity.
- a second memory may be configured to store information of how many copies to generate and what action to take on the multiple copies.
- the second memory may be expandable in storage capacity.
- the first memory may be integrated within an electronics element used to perform other processes.
- This electronics element that is integrated with the first memory may be an Application-Specific Integrated Circuit (ASIC).
- ASIC Application-Specific Integrated Circuit
- a method or corresponding apparatus may determine if a multicast packet is to be sent as copies to multiple destinations. A determination may be made as to how many copies of the multicast packet to generate based on information in the multicast packet and a group with which the multicast packet is associated. This determination may use a look-up table, where the look-up table may be stored in a Content-Addressable Memory (CAM). After making the determination, copies of the multicast packets may be generated based on the information and then transmitted to respective destinations.
- CAM Content-Addressable Memory
- the Universal Line Card (ULC) 305 of FIG. 3 is illustrated as having multiple electronic components and memory devices. However, in other embodiments, there may be more or fewer components. For example, a single processor or ASIC that incorporates all of the functionality of the components of the ULC 305 may be used.
- a look-up table may be employed in the CAM 470 . It should be understood that any form of information storage, such as a table, database, linked list, or array, may be used.
- a feedback path 485 is illustrated in FIG. 4B (among others) as a path between the EPP 420 and EPM 410 , in other embodiment, such as a hardware, firmware, or software embodiment performing the tasks of both the EPP 420 and EPM 410 , there may not be a specific physical or logical path. This applies to other “paths” illustrated in the various apparatus embodiments of FIGS. 1-5I .
- any of the processes disclosed herein may be implemented in the form of hardware, firmware, or software. If implemented in software, the software may be processor instructions in any suitable software language and stored on any form of computer readable medium. The processor instructions are loaded and executed by a processor, such as a general purpose or application specific processor, that, in turn, performs the example embodiments disclosed herein.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (23)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/603,932 US7639685B2 (en) | 2005-11-29 | 2006-11-22 | Method and apparatus for multicast forwarding |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74086205P | 2005-11-29 | 2005-11-29 | |
US41395706A | 2006-04-27 | 2006-04-27 | |
US11/603,932 US7639685B2 (en) | 2005-11-29 | 2006-11-22 | Method and apparatus for multicast forwarding |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US41395706A Continuation-In-Part | 2005-11-29 | 2006-04-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20070133532A1 US20070133532A1 (en) | 2007-06-14 |
US7639685B2 true US7639685B2 (en) | 2009-12-29 |
Family
ID=37831525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/603,932 Active 2027-06-27 US7639685B2 (en) | 2005-11-29 | 2006-11-22 | Method and apparatus for multicast forwarding |
Country Status (2)
Country | Link |
---|---|
US (1) | US7639685B2 (en) |
WO (1) | WO2007064838A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020093350A1 (en) * | 2018-11-09 | 2020-05-14 | Qualcomm Incorporated | Supervised traffic management in sigmesh networks |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002047384A1 (en) | 2000-12-05 | 2002-06-13 | Starguide Digital Networks, Inc. | Method and apparatus for ip multicast content distribution system having national and regional demographically targeted advertisement insertion |
US6728777B1 (en) | 1999-06-02 | 2004-04-27 | Nortel Networks Limited | Method for engineering paths for multicast traffic |
US20050021825A1 (en) | 2003-06-27 | 2005-01-27 | Broadcom Corporation | Internet protocol multicast replication |
EP1557976A1 (en) | 2004-01-20 | 2005-07-27 | Alcatel | Method and apparatus for multicasting of cell or frame data |
US20060018335A1 (en) * | 2004-07-26 | 2006-01-26 | Koch Christopher D | Multicast to unicast traffic conversion in a network |
US20060165111A1 (en) * | 2005-01-27 | 2006-07-27 | Anujan Varma | Replication of multicast data packets in a multi-stage switching system |
US20070116014A1 (en) * | 2005-11-18 | 2007-05-24 | Cisco Technology, Inc., (A California Corporation) | Enhanced multicast VLAN registration |
-
2006
- 2006-11-22 US US11/603,932 patent/US7639685B2/en active Active
- 2006-11-29 WO PCT/US2006/045921 patent/WO2007064838A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728777B1 (en) | 1999-06-02 | 2004-04-27 | Nortel Networks Limited | Method for engineering paths for multicast traffic |
WO2002047384A1 (en) | 2000-12-05 | 2002-06-13 | Starguide Digital Networks, Inc. | Method and apparatus for ip multicast content distribution system having national and regional demographically targeted advertisement insertion |
US20050021825A1 (en) | 2003-06-27 | 2005-01-27 | Broadcom Corporation | Internet protocol multicast replication |
EP1557976A1 (en) | 2004-01-20 | 2005-07-27 | Alcatel | Method and apparatus for multicasting of cell or frame data |
US20060018335A1 (en) * | 2004-07-26 | 2006-01-26 | Koch Christopher D | Multicast to unicast traffic conversion in a network |
US20060165111A1 (en) * | 2005-01-27 | 2006-07-27 | Anujan Varma | Replication of multicast data packets in a multi-stage switching system |
US20070116014A1 (en) * | 2005-11-18 | 2007-05-24 | Cisco Technology, Inc., (A California Corporation) | Enhanced multicast VLAN registration |
Non-Patent Citations (1)
Title |
---|
International Preliminary Report on Patentability, International Application PCT/US2006/045921, 13 pages, Jan. 30, 2008. |
Also Published As
Publication number | Publication date |
---|---|
US20070133532A1 (en) | 2007-06-14 |
WO2007064838A1 (en) | 2007-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10536324B2 (en) | Per-prefix LFA FRR with bit indexed explicit replication | |
JP5760083B2 (en) | Method and apparatus for fast switching from a primary multicast tree to a standby multicast tree | |
US7499419B2 (en) | Scalable IP-services enabled multicast forwarding with efficient resource utilization | |
TWI527409B (en) | A network processor unit and a method for a network processor unit | |
US7643507B2 (en) | Multicast packet processing apparatus and method | |
US8798072B2 (en) | Multicast load balancing | |
US8077714B2 (en) | Maintenance of bandwidth allocation for traffic including multicasts | |
US6392996B1 (en) | Method and apparatus for frame peeking | |
US20130003732A1 (en) | Abstracting accepting interface to optimize parent and child entry lookup for bidirectional pim | |
CN111034159A (en) | Replication with dedicated metal deployment in the cloud | |
US7751319B2 (en) | Method and processor for classifying data packet units | |
US20110170542A1 (en) | Distributed multicast packet replication with centralized quality of service | |
JP2002508124A (en) | Mechanism for replacing packet fields in multilayer switching network elements | |
US12107695B2 (en) | Multicast routing | |
US20030120806A1 (en) | Method and apparatus for maintaining multicast lists in a data network | |
US7916743B2 (en) | System and method for improved multicast performance | |
US8233496B2 (en) | Systems and methods for efficient multicast handling | |
US11483171B2 (en) | System and method to control latency of serially-replicated multi-destination flows | |
CN103430497B (en) | Medium access control MAC address learning method, controller and switching device | |
US7639685B2 (en) | Method and apparatus for multicast forwarding | |
US20050141502A1 (en) | Method and apparatus to provide multicast support on a network device | |
CN115086106B (en) | HASH method with VXLAN known group broadcasting port as tunnel | |
US10805436B2 (en) | Deliver an ingress packet to a queue at a gateway device | |
RU2420920C2 (en) | Method for networking plurality of convergent messaging systems and network system | |
US7167478B2 (en) | Versatile system for message scheduling within a packet operating system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TELLABS SAN JOSE, INC., ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VENKATRAMAN, VIVEK;VIRGINKAR, AJAY;KHANNA, SANJAY;AND OTHERS;REEL/FRAME:018909/0630;SIGNING DATES FROM 20070208 TO 20070209 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
CC | Certificate of correction | ||
AS | Assignment |
Owner name: TELLABS OPERATIONS, INC., ILLINOIS Free format text: MERGER;ASSIGNOR:TELLABS SAN JOSE, INC.;REEL/FRAME:027844/0508 Effective date: 20111111 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGEN Free format text: SECURITY AGREEMENT;ASSIGNORS:TELLABS OPERATIONS, INC.;TELLABS RESTON, LLC (FORMERLY KNOWN AS TELLABS RESTON, INC.);WICHORUS, LLC (FORMERLY KNOWN AS WICHORUS, INC.);REEL/FRAME:031768/0155 Effective date: 20131203 |
|
AS | Assignment |
Owner name: TELECOM HOLDING PARENT LLC, CALIFORNIA Free format text: ASSIGNMENT FOR SECURITY - - PATENTS;ASSIGNORS:CORIANT OPERATIONS, INC.;TELLABS RESTON, LLC (FORMERLY KNOWN AS TELLABS RESTON, INC.);WICHORUS, LLC (FORMERLY KNOWN AS WICHORUS, INC.);REEL/FRAME:034484/0740 Effective date: 20141126 |
|
AS | Assignment |
Owner name: TELECOM HOLDING PARENT LLC, CALIFORNIA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION NUMBER 10/075,623 PREVIOUSLY RECORDED AT REEL: 034484 FRAME: 0740. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT FOR SECURITY --- PATENTS;ASSIGNORS:CORIANT OPERATIONS, INC.;TELLABS RESTON, LLC (FORMERLY KNOWN AS TELLABS RESTON, INC.);WICHORUS, LLC (FORMERLY KNOWN AS WICHORUS, INC.);REEL/FRAME:042980/0834 Effective date: 20141126 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |