IP Library Granted Patent US 10,523,458
Granted Patent B2
US 10,523,458 · App. 16/274,115 · Granted Dec 31, 2019

Multicast to unicast conversion technique

Inventors: Liwu Liu (Cupertino, CA); Jianlin Zeng (San Jose, CA)
Assignee: Extreme Networks, Inc.
H04L12/1886H04L12/18H04L12/1881H04L47/15H04L47/215H04L47/30H04L47/32H04L47/527H04L47/621H04L47/629H04L47/6215H04L47/6295H04L49/201H04L65/4076H04L65/80H04L69/08H04W4/06H04W28/0268H04W28/14
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,523,458
App. No.
16/274,115
Granted
Dec 31, 2019
Kind
B2
Abstract

A technique allows stations to utilize an equal share of resources (e.g., airtime or throughput). This prevents slow stations from consuming too many resources (e.g., using up too much air time). Fairness is ensured by selective dropping after a multicast packet is converted to unicast. This prevents slow stations from using more than their share of buffer resources. Multicast conversion aware back-pressure into the network layer can be used to prevent unnecessary dropping of packets after multicast to unicast (1:n) conversion by considering duplicated transmit buffers. This technique helps achieve airtime/resource fairness among stations.

Claims (65)

1. A system comprising:

a queuing engine configured to enqueue a multicast packet of a multicast packet stream into a multicast queue;

a multicast-to-unicast conversion engine configured to convert the multicast packet into a plurality of unicast packets for transmission to a plurality of stations;

a buffer fairness enforcement engine configured to allocate buffer resources for a station of the plurality of stations based on available buffer resources, wherein, in operation, the buffer fairness enforcement engine allocates an initial amount of buffer resources to the station and increases the initial amount of buffer resources for the station in accordance with a maximum of buffer resources that can be allocated to the station;

a transfer ID (TID) queuing engine configured to enqueue the plurality of unicast packets into a plurality of TID queues;

a scheduling engine configured to dequeue one or more unicast packets from the plurality of TID queues for transmission to one or more stations of the plurality of stations;

an interface for transmitting the one or more unicast packets to the one or more stations of the plurality of stations.

2. The system of claim 1 , wherein an amount of current available buffer resources divided by an amount of total available buffer resources has a lower limit of 0.02.

3. The system of claim 1 , wherein if an amount of current available buffer resources divided by an amount of total available buffer resources is greater than 0.08, the buffer fairness enforcement engine allocates an unlimited amount of buffer resources to each station of the plurality of stations.

4. The system of claim 1 , wherein the initial amount of buffer resources is calculated by dividing an amount of total available buffer resources by a number of active stations of the plurality of stations.

5. The system of claim 1 , wherein the buffer fairness enforcement engine is further configured to increase the initial amount of buffer resources for a particular station of the plurality of stations in accordance with the equation M=C*A/S, where

M is the maximum of buffer resources that can be allocated to the particular station;

C is a constant;

A is an amount of current available buffer resources;

S is a number of active stations of the plurality of stations.

6. The system of claim 1 , wherein the buffer fairness enforcement engine is further configured to increase the initial amount of buffer resources for a particular station of the plurality of stations in accordance with the equation M=V*A/S, where

M is the maximum of buffer resources that can be allocated to the particular station;

V is a variable determined based on current traffic or predicted traffic;

A is an amount of total available buffer resources;

S is a number of active stations of the plurality of stations.

7. The system of claim 1 , wherein the maximum of buffer resources that can be allocated to a particular station is determined by dividing the amount of current available buffer resources by an amount of total available buffer resources and rounding to a nearest value.

8. The system of claim 1 , further comprising a classification and queuing engine that includes the queuing engine, wherein the classification and queuing engine assigns a quality of service (QoS) profile to the multicast packet.

9. The system of claim 8 , wherein the buffer fairness enforcement engine is further configured to increase the initial amount of buffer resources for a particular station of the plurality of stations in accordance with the equation M=V*A/S, where

M is the maximum of buffer resources that can be allocated to the particular station;

V is a variable determined based on the QoS profile assigned to the multicast packet;

A is an amount of total available buffer resources;

S is a number of active stations of the plurality of stations.

10. A method comprising:

enqueuing a multicast packet of a multicast packet stream into a multicast queue;

converting the multicast packet into a plurality of unicast packets for transmission to a plurality of stations;

allocating buffer resources for a station of the plurality of stations based on available buffer resources, including:

allocating an initial amount of buffer resources to the station; and

increasing the initial amount of buffer resources for the station in accordance with a maximum of buffer resources that can be allocated to the station;

enqueuing the plurality of unicast packets into a plurality of transfer ID (TID) queues;

dequeuing one or more unicast packets from the plurality of TID queues for transmission to one or more stations of the plurality of stations;

transmitting the one or more unicast packets to the one or more stations of the plurality of stations.

11. The method of claim 10 , wherein an amount of current available buffer resources divided by an amount of total available buffer resources has a lower limit of 0.02.

12. The method of claim 10 , wherein if an amount of current available buffer resources divided by an amount of total available buffer resources is greater than 0.08, the method further comprises allocating an unlimited amount of buffer resources to each station of the plurality of stations.

13. The method of claim 10 , further comprising calculating the initial amount of buffer resources by dividing an amount of total available buffer resources by a number of active stations of the plurality of stations.

14. The method of claim 10 , further comprising increasing the initial amount of buffer resources for a particular station of the plurality of stations in accordance with the equation M=C*A/S, where

M is the maximum of buffer resources that can be allocated to the particular station;

C is a constant;

A is an amount of current available buffer resources;

S is a number of active stations of the plurality of stations.

15. The method of claim 10 , further comprising increasing the initial amount of buffer resources for a particular station of the plurality of stations in accordance with the equation M=V*A/S, where

M is the maximum of buffer resources that can be allocated to the particular station;

V is a variable determined based on current traffic or predicted traffic;

A is an amount of total available buffer resources;

S is a number of active stations of the plurality of stations.

16. The method of claim 10 , further comprising determining the maximum of buffer resources that can be allocated to the particular station by dividing the amount of current available buffer resources by an amount of total available buffer resources and rounding to a nearest value.

17. The method of claim 10 , further comprising assigning a quality of service (QoS) profile to the multicast packet.

18. The method of claim 17 , further comprising increasing the initial amount of buffer resources for a particular station of the plurality of stations in accordance with the equation M=V*A/S, where

M is the maximum of buffer resources that can be allocated to the particular station;

V is a variable determined based on the QoS profile assigned to the multicast packet;

A is an amount of total available buffer resources;

S is a number of active stations of the plurality of stations.

19. A system comprising:

means for enqueuing a multicast packet of a multicast packet stream into a multicast queue;

means for converting the multicast packet into a plurality of unicast packets for transmission to a plurality of stations;

means for allocating buffer resources for a station of the plurality of stations based on available buffer resources, including:

means for allocating an initial amount of buffer resources to the station; and

means for increasing the initial amount of buffer resources for the station in accordance with a maximum of buffer resources that can be allocated to the station;

means for enqueuing the plurality of unicast packets into a plurality of transfer ID (TID) queues;

means for dequeuing one or more unicast packets from the plurality of TID queues for transmission to one or more stations of the plurality of stations;

means for transmitting the one or more unicast packets to the one or more stations of the plurality of stations.

Assignments (4)
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2020
From: AEROHIVE NETWORKS, INC.
To: EXTREME NETWORKS, INC.
Reel/Frame 052473/0843 →
SECURITY INTEREST Recorded Aug 12, 2019
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 050023/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2019
From: LIU, LIWU; ZENG, JIANLIN
To: AEROHIVE NETWORKS, INC.
Reel/Frame 048321/0886 →
Continuity (7)
Continuation 15626365 · Jun 19, 2017
Continuation 15381727 · Dec 16, 2016
Continuation 14645184 · Mar 11, 2015
Continuation 14314893 · Jun 25, 2014
Continuation 13646547 · Oct 5, 2012
Provisional Application 61659902 · Jun 14, 2012
Related Publication 20190190735A1 · Jun 20, 2019