IP Library Granted Patent US 9,729,463
Granted Patent B2
US 9,729,463 · App. 15/381,727 · Granted Aug 8, 2017

Multicast to unicast conversion technique

Inventors: Liwu Liu (Cupertino, CA); Jianlin Zeng (San Jose, CA)
Assignee: Aerohive Networks, Inc.
H04L47/6295H04L69/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 9,729,463
App. No.
15/381,727
Granted
Aug 8, 2017
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 (87)

1. A method comprising:

receiving, through a network, downlink traffic of a multicast packet stream with a plurality of stations addressed as recipients of the multicast packet stream;

allocating to stations of the plurality of stations a share of network resources for use by the plurality of stations in accessing network services of the network;

enqueuing a multicast packet in the multicast packet stream into a backpressure-controlled multicast queue;

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

selectively dropping at least one unicast packet of the plurality of unicast packets according to an amount of the share of network resources consumed by the stations of the plurality of stations to maintain buffer fairness.

2. The method of claim 1 , further comprising:

enqueuing unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues in a backpressure-aware manner by considering duplicated transmit buffers to avoid dropping the unicast packets.

3. The method of claim 1 , further comprising:

enqueuing unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues;

providing the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued.

4. The method of claim 1 , further comprising:

enqueuing unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues;

determining corresponding token costs in delivering the unicast packets;

providing the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued according to the corresponding token costs in delivering the unicast packets.

5. The method of claim 1 , further comprising:

enqueuing unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues;

determining corresponding token costs in delivering the unicast packets based on estimated airtimes of delivering the unicast packets;

providing the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued according to the corresponding token costs in delivering the unicast packets.

6. The method of claim 1 , further comprising:

enqueuing unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues associated with traffic flows for the stations on a per-station basis;

providing the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued.

7. The method of claim 1 , further comprising:

determining corresponding QoS profiles to associate with unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations;

associating the unicast packets with the corresponding QoS profiles;

enqueuing the unicast packets into traffic identifier queues based on the corresponding QoS profiles associated with the unicast packets;

providing the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued.

8. The method of claim 1 , further comprising:

determining corresponding QoS profiles to associate with unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations, the QoS profiles to be associated with the unicast packets determined based on data flows associated with the unicast packets;

associating the unicast packets with the corresponding QoS profiles;

enqueuing the unicast packets into traffic identifier queues based on the corresponding QoS profiles associated with the unicast packets;

providing the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued.

9. The method of claim 1 , further comprising:

enqueuing unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues;

scheduling delivery of the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued based on the amount of the share of network resources consumed by the stations;

providing the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued according to the scheduled delivery.

10. The method of claim 1 , further comprising:

enqueuing unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues;

scheduling delivery of the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued based on an estimated airtime to deliver the unicast packets to the stations;

providing the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued according to the scheduled delivery.

11. A system comprising:

a point of presence interface configured to receive, through a network, downlink traffic of a multicast packet stream with a plurality of stations addressed as recipients of the multicast packet stream;

a multicast-to-unicast conversion high session performance system configured to allocate to stations of the plurality of stations a share of network resources for use by the plurality of stations in accessing network services of the network;

a queuing engine configured to enqueue a multicast packet in the multicast packet stream into a backpressure-controlled multicast queue;

a scheduling engine configured to:

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

selectively drop at least one unicast packet of the plurality of unicast packets according to an amount of the share of network resources consumed by the stations of the plurality of stations to maintain buffer fairness.

12. The system of claim 11 , wherein the scheduling engine is further configured to enqueue unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues in a backpressure-aware manner by considering duplicated transmit buffers to avoid dropping the unicast packets.

13. The system of claim 11 , further comprising:

the scheduling engine further configured to enqueue unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues;

an access category scheduling engine configured to provide the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued.

14. The system of claim 11 , further comprising:

the scheduling engine further configured to enqueue unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues;

an access category scheduling engine configured to:

determine corresponding token costs in delivering the unicast packets;

provide the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued according to the corresponding token costs in delivering the unicast packets.

15. The system of claim 11 , further comprising:

the scheduling engine further configured to enqueue unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues;

an access category scheduling engine configured to:

determine corresponding token costs in delivering the unicast packets based on estimated airtimes of delivering the unicast packets;

provide the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued according to the corresponding token costs in delivering the unicast packets.

16. The system of claim 11 , further comprising:

the scheduling engine further configured to enqueue unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues associated with traffic flows for the stations on a per-station basis;

an access category scheduling engine configured to provide the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued.

17. The system of claim 11 , further comprising:

the scheduling engine further configured to:

determine corresponding QoS profiles to associate with unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations;

associate the unicast packets with the corresponding QoS profiles;

enqueue the unicast packets into traffic identifier queues based on the corresponding QoS profiles associated with the unicast packets;

an access category scheduling engine configured to provide the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued.

18. The system of claim 11 , further comprising:

the scheduling engine further configured to:

determine corresponding QoS profiles to associate with unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations, the QoS profiles to be associated with the unicast packets determined based on data flows associated with the unicast packets;

associate the unicast packets with the corresponding QoS profiles;

enqueue the unicast packets into traffic identifier queues based on the corresponding QoS profiles associated with the unicast packets;

an access category scheduling engine configured to provide the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued.

19. The system of claim 11 , further comprising:

the scheduling engine further configured to enqueue unicast packets of the plurality of unicast packets which remain without being dropped according to the amount of the share of network resources consumed by the stations into traffic identifier queues;

an access category scheduling engine configured to:

schedule delivery of the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued based on the amount of the share of network resources consumed by the stations;

provide the unicast packets to the stations corresponding to the traffic identifier queues in which the unicast packets are enqueued according to the scheduled delivery.

20. A system comprising:

means for receiving, through a network, downlink traffic of a multicast packet stream with a plurality of stations addressed as recipients of the multicast packet stream;

means for allocating to stations of the plurality of stations a share of network resources for use by the plurality of stations in accessing network services of the network;

means for enqueuing a multicast packet in the multicast packet stream into a backpressure-controlled multicast queue;

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

means for selectively dropping at least one unicast packet of the plurality of unicast packets according to an amount of the share of network resources consumed by the stations of the plurality of stations to maintain buffer fairness.

Assignments (5)
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 Mar 28, 2017
From: LIU, LIWU; ZENG, JIANLIN
To: AEROHIVE NETWORKS, INC.
Reel/Frame 042108/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2017
From: LIU, LIWU; ZENG, JIANLIN
To: AEROHIVE NETWORKS, INC.
Reel/Frame 041784/0127 →
Continuity (5)
Continuation 14645184 · Mar 11, 2015
Continuation 14314893 · Jun 25, 2014
Continuation 13646547 · Oct 5, 2012
Provisional Application 61659902 · Jun 14, 2012
Related Publication 20170149680A1 · May 25, 2017