IP Library Granted Patent US 7,813,348
Granted Patent B1
US 7,813,348 · App. 10/980,503 · Granted Oct 12, 2010

Methods, systems, and computer program products for killing prioritized packets using time-to-live values to prevent head-of-line blocking

Assignee: Extreme Networks, Inc.
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 7,813,348
App. No.
10/980,503
Filed
Nov 3, 2004
Granted
Oct 12, 2010
Kind
B1
Examiner
PARK, JUNG H
Art Unit
2465
USPC
370/394
Abstract

Methods, systems, and computer program products for killing prioritized packets in multiple queues using time-to-live values to prevent head-of-line blocking. In one example, a method for scheduling prioritized packets in queuing system includes receiving a plurality of packets having a plurality of different priorities. The method can also include assigning the packets to the queues, wherein at least some of the queues include packets of a plurality of different priorities. In addition, the method can include assigning a first time-to-live (TTL) value to a first packet in a first queue. The method can also include altering the first TTL value of the first packet in response to a second packet of a second queue being scheduled. Further, the method can include discarding the first packet in response to the first TTL value having a predetermined relationship with respect to a predetermined value.

Claims (29)

1. A method for scheduling prioritized packets in queuing system having a plurality of queues, the method comprising:

(a) receiving a plurality of packets having a plurality of different priorities;

(b) assigning the packets to the queues, wherein at least some of the queues include packets of a plurality of different priorities;

(c) assigning a first time-to-live (TTL) value to a first packet in a first queue;

(d) altering the first TTL value of the first packet in response to a second packet of a second queue being scheduled; and

(e) discarding the first packet in response to the first TTL value having a predetermined relationship with respect to a predetermined value.

2. The method of claim 1 wherein receiving a plurality of packets includes receiving packets associated with the plurality of different streams and where assigning the packets to the queues includes assigning packets associated with the same stream to the same queue.

3. The method of claim 1 wherein assigning the packets to the queues includes arranging the packets in each queue in an order based on time of receipt of each packet.

4. The method of claim 1 wherein the first packet is a head-of-line packet in the first queue.

5. The method of claim 1 wherein the first packet is associated with a first priority of the plurality of priorities.

6. The method of claim 5 wherein assigning a TTL value includes assigning the TTL value based on the first priority associated with the first packet.

7. The method of claim 5 wherein assigning a TTL value includes assigning a TTL value of infinity in response to the first priority being a highest priority of the plurality of priorities.

8. The method of claim 1 comprising, in response to the TTL value having the predetermined relationship with respect to the predetermined value, discarding packets in the first queue behind the first packet having priorities less than or equal to a predetermined priority value.

9. The method of claim 8 wherein the predetermined priority value comprises a priority value assigned to the first packet.

10. The method of claim 8 wherein the predetermined priority value comprises a highest priority value amount packets in the first queue.

11. The method of claim 1 wherein discarding the first packet includes discarding the first packet only in response to determining that the first packet is blocking one or more packets having a higher priority than that of the first packet.

12. A queuing system for scheduling prioritized packets in a plurality of queues, the system comprising:

(a) first and second queues, the first queue including a first packet and the second queue including a second packet; and

(b) a scheduler for altering a first time-to-live (TTL) value of the first packet in response to scheduling of the second packet, and for discarding the first packet in response to the first TTL value having a predetermined relationship with respect to a first predetermined value.

13. The system of claim 12 wherein the first and second queues each include a plurality of packets having different priorities and wherein the packets of in the first queue are associated with the first stream and the packets in the second queue are associated with the second stream.

14. The system of claim 13 wherein the packets in each queue are ordered based on time of receipt.

15. The system of claim 12 wherein the first packet in the first queue is a head-of-line packet in the first queue.

16. The system of claim 12 wherein the first packet in the first queue is associated with a first priority of the plurality of priorities.

17. The system of claim 16 wherein the TTL value is based on the first priority.

18. The system of claim 16 wherein the first TTL value is set to infinity in response to the first priority being a highest priority of the plurality of priorities.

19. The system of claim 12 wherein, in response to the TTL value having the predetermined relationship with respect to the predetermined value, the scheduler is operable to remove one or more packets in the first queue behind the first packet in response to priorities of the one or more packets being less than or equal to a predetermined priority value.

20. The system of claim 19 wherein the predetermined priority value is less than a highest priority of the plurality of priorities.

21. The system of claim 19 wherein the predetermined priority value includes a priority assigned to the first packet.

22. The system of claim 12 wherein the scheduler is operable to discard the first packet only in response to determining that the first packet blocks one or more packets in the first queue having priorities higher than a priority assigned to the first packet.

Assignments (10)
RELEASE OF PATENT AND TRADEMARK SECURITY INTEREST AT REEL/FRAME NO. 46050/0546 Recorded Jul 30, 2026
From: BANK OF MONTREAL, AS AGENT
To: EXTREME NETWORKS, INC.
Reel/Frame 076081/0088 →
SECURITY INTEREST Recorded Jul 29, 2026
From: EXTREME NETWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 076078/0590 →
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2016
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040521/0762 →
SECURITY AGREEMENT Recorded Jul 27, 2015
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2004
From: GUPTA, RAJARSHI; SIVA, MEERA; TANGIRALA, RAVI; CHEE, ALVIN
To: EXTREME NETWORKS, INC.
Reel/Frame 015439/0578 →