IP Library Granted Patent US 8,893,198
Granted Patent B2
US 8,893,198 · App. 14/272,222 · Granted Nov 18, 2014

Systems and methods for prioritization of data for intelligent discard in a communication network

Inventors: Kenneth L. Stanwood (Vista, CA); David Gell (San Diego, CA); Yiliang Bao (San Diego, CA)
Assignee: Wi-Lan Labs, Inc.
H04L47/32H04L47/30
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 8,893,198
App. No.
14/272,222
Granted
Nov 18, 2014
Kind
B2
Abstract

Capacity and spectrum constrained, multiple-access communication systems optimize performance by selectively discarding packets. Changes in the communication systems may be driven using control responses. Control responses include intelligent discard of network packets under capacity constrained conditions. Packets are prioritized and discard decisions are made based on the prioritization. Various embodiments provide an interactive response by selectively discarding packets to enhance perceived and actual system throughout, provide a reactive response by selectively discarding data packets based on their relative impact to service quality to mitigate oversubscription, provide a proactive response by discarding packets based on predicted oversubscription, or provide a combination thereof. Packets may be prioritized for discard using correlations between discards and bandwidth reduction and quality degradation. The quality degradation for video packets may be measured objectively.

Claims (54)

1. A base station for managing transmission of packets over a communication link in a communication network, the base station comprising:

a transmission module configured to transmit packets over the communication link;

a video quality measurement module configured to obtain packets containing frames of a video stream from a backhaul port, the frames comprising multiple frame groups, and to determine estimated contributions of a discard of all frames of each frame group to at least one video quality measurement of the video stream;

a priority assignment module configured to receive the estimated contributions of each frame group to the at least one quality measurement, to assign an allowable time in queue to each of the packets based at least on the estimated contribution of the frame groups associated with the frames in the respective packet, and to transfer the packets to a scheduler queue; and

a selection module configured to detect that the depth of the scheduler queue has exceeded a level, and in the case that it is detected that the level is exceeded, to select at least one of the packets in the scheduler queue for discard utilizing the assigned allowable time in queue and to supply the packets in the scheduler queue not selected for discard to the transmission module for transmission over the communication link.

2. The base station of claim 1 , wherein the priority assignment module is further configured to assign the allowable time in queue to each of the packets so that a packet having a frame associated with a frame group that has a greater estimated contribution to the at least one video quality measurement of the video stream is assigned a greater allowable time in queue.

3. The base station of claim 1 , wherein the video quality measurement module is further configured to calculate the at least one video quality measurement of the video stream.

4. The base station of claim 1 , wherein the video quality measurement module is further configured to receive indications of the packets that are selected for discard and to include the indications in determining the estimated contributions of the frames comprising packets that have not yet been selected for discard to the at least one video quality measurement.

5. The base station of claim 4 , wherein the priority assignment module is further configured to utilize the estimated contributions of frames comprising packets that have not yet been selected for discard to the at least one video quality measurement in assigning the allowable time in queue to the packets not yet selected for discard.

6. The base station of claim 1 , wherein some of the packets contain frames that are formatted according to H.264 and that include nal_ref_idc fields, wherein the priority assignment module is further configured to utilize the values in the nal_ref_idc fields in assigning the allowable time in queue to the packets.

7. The base station of claim 1 , wherein some of the packets contain frames that are formatted according to H.264 and that include nal_ref_idc fields, wherein the video quality measurement module is further configured to modify values in some of the nal_ref_idc fields based at least in part on the indications of the packets selected for discard.

8. The base station of claim 1 , wherein the selection module is further configured to detect that the depth of the scheduler queue has exceeded a second level, and in the case that it is detected that the second level is exceeded, to select further packets in the scheduler queue for discard utilizing the assigned allowable time in queue.

9. The base station of claim 1 , wherein some of the packets contain frames that are formatted according to H.264-Scalable Video Coding (SVC), and wherein determining the allowable time in queue of the packets formatted according to SVC utilizes values from at least one of a dependency_id field, a quality_id field, or a temporal_id field.

10. A base station for managing transmission of packets over a communication link in a communication network, the base station comprising:

a transmission module configured to transmit packets over the communication link;

a video quality measurement module configured to obtain packets containing frames of a video stream from a backhaul port, the frames comprising multiple frame groups, and to determine estimated contributions of a discard of all frames of each frame group to at least one video quality measurement of the video stream;

a priority assignment module configured to receive the estimated contributions of each frame group to the at least one quality measurement, to assign an allowable time in queue to each of the packets based at least on the estimated contribution of the frame groups associated with the frames in the respective packet, and to transfer the packets to a scheduler queue; and

a selection module configured to determine the time the packets have resided in the scheduler queue, to select at least one of the packets in the scheduler queue for discard based at least on an indication that the determined time the packet has resided in the scheduler queue has exceeded its assigned allowable time in queue and to supply the packets in the scheduler queue not selected for discard to the transmission module for transmission over the communication link.

11. The base station of claim 10 , wherein the priority assignment module is further configured to assign the allowable time in queue to each of the packets so that a packet having a frame associated with a frame group that has a greater estimated contribution to the at least one video quality measurement of the video stream is assigned a greater allowable time in queue.

12. The base station of claim 10 , wherein the video quality measurement module is further configured to calculate the at least one video quality measurement of the video stream.

13. The base station of claim 10 , wherein the video quality measurement module is further configured to receive indications of the packets that are selected for discard and to include the indications in determining the estimated contributions of the frames comprising packets that have not yet been selected for discard to the at least one video quality measurement.

14. The base station of claim 13 , wherein the priority assignment module is further configured to utilize the estimated contributions of frames comprising packets that have not yet been selected for discard to the at least one video quality measurement in assigning the allowable time in queue to the packets not yet selected for discard.

15. The base station of claim 10 , wherein some of the packets contain frames that are formatted according to H.264 and that include nal_ref_idc fields, wherein the priority assignment module is further configured to utilize the values in the nal_ref_idc fields in assigning the allowable time in queue to the packets.

16. The base station of claim 10 , wherein some of the packets contain frames that are formatted according to H.264 and that include nal_ref_idc fields, wherein the video quality measurement module is further configured to modify values in some of the nal_ref_idc fields based at least in part on the indications of the packets selected for discard.

17. The base station of claim 10 , wherein some of the packets contain frames that are formatted according to H.264-Scalable Video Coding (SVC), and wherein determining the allowable time in queue of the packets formatted according to SVC utilizes values from at least one of a dependency_id field, a quality_id field, or a temporal_id field.

18. A method for operating a base station for managing transmission of packets over a communication link in a communication network, the method comprising:

obtaining packets from a backhaul port for transmission;

assigning an allowable time in queue for each of the packets, wherein the assigned allowable time in queue for each packet is determined based at least in part on an estimated contribution of discarding the packet to a service quality measurement for the service associated with the packet;

placing each of the packets into a scheduler queue;

detecting whether the depth of the scheduler queue has exceeded a level;

selecting, in the case that it is detected that the level is exceeded, at least one of the packets in the scheduler queue for discard utilizing the assigned allowable time in queue; and

providing the packets not selected for discard for transmission over the communication link.

19. The method of claim 18 , wherein a packet having a greater estimated contribution to the service quality measurement for the service associated with the packet is assigned a greater allowable time in queue.

20. The method of claim 18 , further comprising determining the estimated contribution of packets that have not yet been selected for discard based at least in part on indications of the packets that are selected for discard.

21. The method of claim 20 , wherein assigning the allowable time in queue for each of the packets includes utilizing the estimated contributions of packets that have not yet been selected for discard to the service quality measurement for the service associated with the packet in assigning the allowable time in queue to the packets not yet selected for discard.

22. The method of claim 18 , further comprising detecting whether the depth of the scheduler queue has exceeded a second level, and in the case that it is detected that the second level is exceeded, to selecting further packets in the scheduler queue for discard utilizing the assigned allowable time in queue.

23. The method of claim 18 , wherein at least some of the packets contain frames of a video stream, the frames comprising multiple frame groups, and wherein the service quality measurement for the service associated with the packet for the packets containing frames of the video stream is based on estimated contributions of a discard of all frames of each frame group to at least one video quality measurement of the video stream.

24. The method of claim 23 , wherein some of the packets contain frames that are formatted according to H.264 and that include nal_ref_idc fields, wherein the values in the nal_ref_idc fields are utilized in assigning the allowable time in queue to the packets.

25. The method of claim 24 , further comprising modifying values in some of the nal_ref_idc fields based at least in part on indications of the packets selected for discard.

26. The method of claim 23 , wherein some of the packets contain frames that are formatted according to H.264-Scalable Video Coding (SVC), and wherein determining the allowable time in queue of the packets formatted according to SVC utilizes values from at least one of a dependency_id field, a quality_id field, or a temporal_id field.

27. A method for operating a base station for managing transmission of packets over a communication link in a communication network, the method comprising:

obtaining packets from a backhaul port for transmission;

assigning an allowable time in queue for each of the packets, wherein the assigned allowable time in queue for each packet is determined based at least in part on an estimated contribution of discarding the packet to a service quality measurement for the service associated with the packet;

placing each of the packets into a scheduler queue;

determining the time the packets have resided in the scheduler queue,

selecting at least one of the packets in the scheduler queue for discard based at least on an indication that the determined time the packet has resided in the scheduler queue has exceeded its assigned allowable time in queue; and

providing the packets not selected for discard for transmission over the communication link.

28. The method of claim 27 , wherein a packet having a greater estimated contribution to the service quality measurement for the service associated with the packet is assigned a greater allowable time in queue.

29. The method of claim 27 , further comprising determining the estimated contribution of packets that have not yet been selected for discard based at least in part on indications of the packets that are selected for discard.

30. The method of claim 29 , wherein assigning the allowable time in queue for each of the packets includes utilizing the estimated contributions of packets that have not yet been selected for discard to the service quality measurement for the service associated with the packet in assigning the allowable time in queue to the packets not yet selected for discard.

31. The method of claim 27 , wherein at least some of the packets contain frames of a video stream, the frames comprising multiple frame groups, and wherein the service quality measurement for the service associated with the packet for the packets containing frames of the video stream is based on estimated contributions of a discard of all frames of each frame group to at least one video quality measurement of the video stream.

32. The method of claim 31 , wherein some of the packets contain frames that are formatted according to H.264 and that include nal_ref_idc fields, wherein the values in the nal_ref_idc fields are utilized in assigning the allowable time in queue to the packets.

33. The method of claim 32 , further comprising modifying values in some of the nal_ref_idc fields based at least in part on indications of the packets selected for discard.

34. The method of claim 31 , wherein some of the packets contain frames that are formatted according to H.264-Scalable Video Coding (SVC), and wherein determining the allowable time in queue of the packets formatted according to SVC utilizes values from at least one of a dependency_id field, a quality_id field, or a temporal_id field.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2017
From: WI-LAN LABS, INC.
To: TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD.
Reel/Frame 041627/0873 →
CHANGE OF NAME Recorded Sep 12, 2014
From: CYGNUS BROADBAND, INC.
To: WI-LAN LABS, INC.
Reel/Frame 033730/0413 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2014
From: STANWOOD, KENNETH L; GELL, DAVID; BAO, YILIANG
To: CYGNUS BROADBAND, INC.
Reel/Frame 032843/0731 →
Continuity (9)
Continuation 13243507 · Sep 23, 2011
Continuation In Part 13182703 · Jul 14, 2011
Continuation In Part 13155102 · Jun 7, 2011
Continuation In Part 12813856 · Jun 11, 2010
Provisional Application 61421510 · Dec 9, 2010
Provisional Application 61187113 · Jun 15, 2009
Provisional Application 61187118 · Jun 15, 2009
Provisional Application 61186707 · Jun 12, 2009
Related Publication 20140241154A1 · Aug 28, 2014