IP Library Granted Patent US 9,571,404
Granted Patent B2
US 9,571,404 · App. 14/169,026 · Granted Feb 14, 2017

Method and system for prioritizing network packets

Inventors: Richard A. Howes (Santa Monica, CA); William M. LeBlanc (Atlanta, GA)
Assignee: Aruba Networks, Inc.
H04L47/2441
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,571,404
App. No.
14/169,026
Granted
Feb 14, 2017
Kind
B2
Abstract

According to one embodiment, a system is described that comprises a network device adapted to receive a media stream including a plurality of network packets. The network device of the system processes the media stream, targeted for a client device communicatively coupled to the network device, by performing a number of operations. A first operation comprises partitioning the plurality of network packets into a plurality of subsets, each subset in the plurality of subsets corresponding to a media frame in a plurality of frames. Next, a priority level is determined for each media frame in the plurality of media frames, where the priority level for each media frame is assigned to each of the one or more network packets in the frame. Thereafter, network packets are transmitted or dropped based at least on the priority level associated with each network packet in the plurality of network packets.

Claims (32)

1. A non-transitory computer-readable storage medium comprising instructions which, when executed by one or more hardware processors of a network device, cause the one or more hardware processors to:

partition a plurality of network packets associated with a media stream into a plurality of subsets, each subset from the plurality of subsets corresponding to a media frame from a plurality of media frames;

determine a priority level for the media frame from the plurality of media frames;

assign the priority level to a subset of network packets corresponding to the media frame based on the priority level of the media frame;

modify one or more transmission parameters for each network packet of the plurality of network packets based on the priority level assigned to the network packet; and

transmit or drop network packets of the plurality of network packets using the modified one or more transmission parameters.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the instructions are further to cause the one or more hardware processors to:

identify a subset of media frames in the plurality of media frames based on each media frame of the subset of media frames corresponding to one encoded picture, wherein the priority level for non-transmitted network packets in the subset of media frames is assigned based at least on whether the transmitted network packets in the subset of media frames successfully reached a target device.

3. The non-transitory computer-readable storage medium of claim 1 , wherein the priority level for the media frame is determined based at least on a media frame type comprising one of: I-frame, B-frame, or P-frame.

4. The non-transitory computer-readable storage medium of claim 1 , wherein the priority level for the media frame is determined based at least on a distance of the media frame from the following I-frame or a previous I-frame.

5. The non-transitory computer-readable storage medium of claim 1 , wherein the one or more hardware processors are to base a determination to transmit or drop the network packets on one or more network conditions that are determined based on 802.11 ACK packets received in response to transmitting a portion of the plurality of network packets.

6. The non-transitory computer-readable storage medium of claim 1 , wherein the instructions are further to cause the one or more hardware processors to:

identify a subset of media frames in the plurality of media frames based on each media frame of the subset of media frames corresponding to one encoded picture, wherein the priority level for network packets in the subset of media frames is based at least on a time or time period associated with the subset of media frames.

7. The non-transitory computer-readable storage medium of claim 1 , wherein to determine the priority level for the media frame, the one or more hardware processors are to base the determination in part on a presentation to which the media frame belongs.

8. The non-transitory computer-readable storage medium of claim 1 , wherein to determine the priority level for the media frame, the one or more hardware processors are to base the determination in part on a presentation to which the media frame belongs and a bandwidth associated with the presentation.

9. The non-transitory computer-readable storage medium of claim 1 , wherein to determine the priority level for the media frame, the one or more hardware processors are to base the determination in part on a determination as to whether a second media frame, that is redundant to the media frame, successfully reached a target device.

10. The non-transitory computer-readable storage medium of claim 1 , wherein the media frame includes one or more network packets each being assigned a priority level.

11. The non-transitory computer-readable storage medium of claim 1 , wherein the current network conditions comprise one or more of (1) a level of congestion of a network on which the plurality of network packets are to be transmitted; (2) an error rate associated with transmitted network packets of the plurality of network packets; (3) whether a second network device is to be removed from the network on which the plurality of network packets are to be transmitted; (4) a level of congestion is expected to increase or decrease; or (5) a load at the network device is expected to increase or decrease.

12. A non-transitory computer-readable storage medium comprising instructions which, when executed by one or more hardware processors, cause the one or more hardware processors to:

partition a plurality of network packets associated with a media stream into a plurality of subsets, each subset in the plurality of subsets corresponding to a media frame from a plurality of media frames;

determine a priority level for the media frame in the plurality of media frames;

assign the priority level to a subset of network packets corresponding to the media frame base on the priority level of the media frame;

modify one or more transmission parameters for each of the plurality of network packets based on the assigned priority level of the network packet; and

transmit each of the plurality of network packets using the modified one or more transmission parameters.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the priority level for the media frame is determined based at least on a media frame type comprising one of: I-frame, B-frame, or P-frame.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the priority level for the media frame is determined based at least on a distance of the media frame from the following I-frame or a previous I-frame in the media stream.

15. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions are further to cause the one or more hardware processors to:

identify a subset of media frames in the plurality of media frames based on each media frame of the subset of media frames corresponding to one encoded picture, wherein the priority level for network packets in the subset of media frames is based at least on a time or time period associated with the subset of media frames.

16. The non-transitory computer-readable storage medium of claim 12 , wherein to determine the priority level for the media frame, the one or more hardware processors are to base the determination in part on a presentation to which the media frame belongs.

17. The non-transitory computer-readable storage medium of claim 12 , wherein to determine the priority level for the media frame, the one or more hardware processors are to base the determination in part on a presentation to which the media frame belongs and a bandwidth associated with the presentation.

18. The non-transitory computer-readable storage medium of claim 12 , wherein to determine the priority level for the media frame, the one or more hardware processors are to base the determination on whether or not there are other media frames in the plurality of media frames that duplicate the data in the particular media frame.

19. The non-transitory computer-readable storage medium of claim 12 , wherein the media frame includes one or more network packets each being assigned a priority level.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: ARUBA NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 045921/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: ARUBA NETWORKS, INC.
Reel/Frame 036379/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2015
From: ARUBA NETWORKS, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 035814/0518 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2014
From: HOWES, RICHARD A.; LEBLANC, WILLIAM M.
To: ARUBA NETWORKS, INC.
Reel/Frame 032105/0075 →
Continuity (3)
Continuation In Part 14069360 · Oct 31, 2013
Provisional Application 61724794 · Nov 9, 2012
Related Publication 20140146676A1 · May 29, 2014