Back to results
US 8,427,943 B2Granted
Bandwidth-aware multicast load balancing on a multi-interface host
AssigneeCisco Technology, Inc.
InventorsJoshua Gahm, David Oran, Toerless Eckert
Life of this patent
Estimating the term…
Abstract
In one embodiment, a network device having a plurality of network interfaces maintains a database tracking multicast memberships associated with the network interfaces. The network device then uses the database for load balancing received multicast traffic over the network interfaces.
Claims17
A system comprising:
- a plurality of network interfaces, and
- a server operatively connected to the plurality of network interfaces, the server comprising a memory and a processor, the memory having a table containing entries associating multicast group memberships with the plurality of network interfaces, the table indicating an amount of bandwidth available on each of the plurality of network interfaces, the processor configured to:
- receive a first add network interface request that does not specify any of the plurality of network interfaces;
- responsive to receiving the first add network interface request, determine whether any of the plurality of network interfaces are currently members of a multicast group corresponding to a requested multicast stream;
- analyze the table to determine an amount of bandwidth available on each of the plurality of network interfaces;
- responsive to determining that none of the plurality of network interfaces are currently members of the multicast group corresponding to the requested multicast stream, select a network interface of the plurality of network interfaces based on the analysis of the available bandwidth amounts;
- and
- if there are no network interfaces among the plurality of network interfaces that are currently members of the corresponding multicast group, and if at least one of the plurality of network interfaces has sufficient bandwidth available for the requested multicast stream, identify a network interface from the plurality of network interfaces for the received request based at least in part on the available bandwidth amounts, that has the most available bandwidth;
- trigger the identified network interface to join the corresponding multicast group by generating a second different add network interface request specifying the identified network interface;
- cause the selected network interface to join the corresponding multicast group using the second add network interface request;
- and
- filter the first add request such that no other network interfaces receive the requested multicast stream.
9 more elements
A method, comprising:
- receiving a first add network interface request that does not specify any of a plurality of network interfaces of one network device;
- accessing a database containing entries associating multicast group memberships with the plurality of network interfaces, the database indicating an amount of bandwidth available on each of the plurality of network interfaces;
- responsive to receiving the first add network interface request, determining whether any of the plurality of network interfaces are currently members of a multicast group corresponding to a requested multicast stream;
- responsive to determining that none of the plurality of network interfaces are currently members of the multicast group corresponding to the requested multicast stream, and if at least one of the plurality of network interfaces has sufficient bandwidth available for the requested multicast stream, identifying and selecting a network interface from the plurality of network interfaces for the received request based on an analysis of the available bandwidth amounts as indicated in the database;
- triggering the selected network interface to join the corresponding multicast group to provide the requested multicast stream by generating a second different add network interface request specifying the selected network interface;
- causing the selected network interface to join the corresponding multicast group using the second add network interface request;
- and
- filtering the first add request such that no other network interfaces receive the requested multicast stream.
5 more elements
An apparatus, comprising:
- a plurality of network interfaces;
- a database containing entries associating multicast group memberships with the plurality of network interfaces, the database indicating an amount of bandwidth available on each of the plurality of network interfaces;
- and
- a processing device configured to:
- receive a request to provide a local application with a multicast stream;
- determine whether any of the plurality of network interfaces are currently members of a multicast group corresponding to the requested multicast stream;
- check the amount of bandwidth available on each of the plurality of network interfaces as indicated by the database;
- if there are no network interfaces among the plurality of network interfaces that are currently members of the corresponding multicast group, and if at least one of the plurality of network interfaces has sufficient bandwidth available for the requested multicast stream, identify a particular one of the plurality of network interfaces for the received request based at least in part on the available bandwidth amounts in the database by selecting a network interface, among the plurality of network interfaces, that has the most available bandwidth as indicated by the database;
- trigger the particular network interface to join the corresponding multicast group to provide the local application with the requested multicast stream;
- if there is a network interface among the plurality of network interfaces that is currently a member of the corresponding multicast group and already receiving the requested multicast stream, provide the local application with the requested multicast stream using the network interface;
- and
- filter the request such that no other network interfaces receive the requested multicast stream;
- wherein the request is a first add network interface request that does not specify any network interfaces, and wherein the processing device is configured to trigger the particular network interface to join the corresponding multicast group by formatting a second different add network interface request that does specify one of the plurality of network interfaces.
10 more elements
Dependencies are inferred from the claim text.