Stateful IGMP fastleave
AssigneeARRIS Enterprises LLC
InventorFeng Li
Life of this patent
Estimating the term…
Abstract
Methods, systems, and computer readable media described herein can be operable to facilitate an IGMP fastleave using a listener reference count. A gateway proxy saves each listener for every specific multicast group, thus the gateway knows if a listener is the last one in the group when it receives a leave report from a listener. The gateway leaves the group immediately without sending specific query if the leave report comes from the last listener of the current group, thereby significantly reducing the leave latency. Otherwise, the standard procedure wins, and the gateway sends out a specific query when the leave report is not from the last listener.
Claims20
A method by a gateway device comprising:
- receiving from one or more client devices one or more responses to a general query during a startup procedure, wherein the one or more responses identify the one or more client devices and one or more multicast groups to which the one or more client device are joined;
- establishing a listener reference count for each multicast group of the one or more multicast groups, wherein the listener reference count is established based on the one or more responses, wherein the listener reference count reflects a value of the one or more client devices that are currently joined to each multicast group;
- receiving a leave request from a client device of the one or more client devices;
- identifying from the leave request, a multicast group of the one or more multicast groups associated with the leave request;
- decreasing the value of the listener reference count that is associated with the identified multicast group;
- determining the value of the listener reference count;
- reporting a leave for the identified multicast group to a headend device without sending a specific query to the one or more client devices on a local network associated with the gateway device based on the value.
A gateway device comprising:
- a computer-readable medium storing one or more instructions;
- a processor that executes one or more instructions that cause the gateway device to:
- receive from one or more client devices one or more responses to a general query during a startup procedure, wherein the one or more response identify the one or more client devices and one or more multicast groups to which the one or more client devices are joined;
- establish a listener reference count for each multicast group of the one or more multicast groups, wherein the listener reference count is established based on the one or more responses, wherein the listener reference count reflects a value of the one or more client devices that are currently joined to each multicast group;
- receive a leave request from a client device of the one or more client devices;
- identify from the leave request, a multicast group of the one or more multicast groups associated with the leave request;
- decrease the value of the listener reference count that is associated with the identified multicast group;
- determine the value of the listener reference count has reached zero;
- report a leave for the identified multicast group to a headend device without sending a specific query to the one or more client devices on a local network associated with the gateway device based on the value.
One or more non-transitory computer readable media of a gateway device having instructions operable to cause one or more processors to perform the operations comprising:
- receiving from one or more client devices one or more responses to a general query during a startup procedure, wherein the one or more responses identify the one or more client devices and one or more multicast groups to which the one or more client device are joined;
- establishing b a listener reference count for each multicast group of the one or more multicast groups, wherein the listener reference count is established based on the one or more responses, wherein the listener reference count reflects a value of the one or more client devices that are currently joined to each multicast group;
- receiving the one or more responses to the general query, wherein the one or more response identify the one or more client devices and one or more multicast groups to which the one or more client device are joined;
- identifying from the leave request, a multicast group of the one or more multicast groups associated with the leave request;
- decreasing the value of the listener reference count that is associated with the identified multicast group;
- determining the value of the listener reference count;
- reporting a leave for the identified multicast group to a headend device without sending a specific query to the one or more client devices on a local network associated with the gateway device based on the value.
Dependencies are inferred from the claim text.