IP Library Granted Patent US 9,225,659
Granted Patent B2
US 9,225,659 · App. 14/594,911 · Granted Dec 29, 2015

Method and apparatus for scheduling a heterogeneous communication flow

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,225,659
App. No.
14/594,911
Granted
Dec 29, 2015
Kind
B2
Abstract

A method and apparatus are provided for scheduling a heterogeneous communication flow. A heterogeneous flow is a flow comprising packets with varying classes or levels of service, which may correspond to different priorities, qualities of service or other service characteristics. When a packet is ready for scheduling, it is queued in order in a flow queue that corresponds to the communication flow. The flow queue then migrates among class queues that correspond to the class or level of service of the packet at the head of the flow queue. Thus, after the head packet is scheduled, the flow queue may be dequeued from its current class queue and requeued at the tail of another class queue. If the subsequent packet has the same classification, it may be requeued at the tail of the class queue or may remain in place for another servicing round.

Claims (53)

1. A method of servicing packets according to a class-based scheduler, the method comprising:

enqueuing, in a first class queue corresponding to a first class of service, a flow queue comprising packets of multiple different classes, including a first packet at a head of the flow queue that is of the first class of service;

dequeuing the first packet;

identifying a second class of a second packet now at the head of the flow queue; and

enqueuing the flow queue in a second class queue corresponding to the second class;

wherein:

the first class has a first set of QoS (Quality of Service) parameters and requires preservation of packet ordering; and

the second class has a second set of QoS parameters different from the first set of QoS parameters, and requires preservation of packet ordering.

2. The method of claim 1 , wherein said dequeuing the first packet comprises:

dequeuing the flow queue from the first class queue; and

dequeuing the first packet from the flow queue.

3. The method of claim 1 , wherein:

the flow queue comprises references to packets.

4. The method of claim 3 , wherein:

each of the first class queue and the second class queue is configured to comprise references to flow queues.

5. The method of claim 1 , further comprising:

receiving a new packet; and

enqueuing the new packet within the flow queue.

6. The method of claim 1 , wherein said identifying the second class of the second packet comprises:

classifying the second packet.

7. The method of claim 1 , further comprising:

storing a storage location of the flow queue.

8. The method of claim 7 , wherein:

said enqueuing the flow queue within the first class queue comprises writing to an electronic storage area associated with the first class queue a reference to the storage location of the flow queue.

9. The method of claim 1 , further comprising:

configuring one or more classification rules for classifying each packet of a heterogeneous communication flow to one of multiple classes, including the first class and the second class; and

the flow queue comprises packets of the heterogeneous communication flow.

10. A non-transitory computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of servicing packets according to a class-based scheduler, the method comprising:

enqueuing, in a first class queue corresponding to a first class of service, a flow queue comprising packets of multiple different classes, including a first packet at a head of the flow queue that is of the first class of service;

dequeuing the first packet;

identifying a second class of a second packet now at the head of the flow queue; and

enqueuing the flow queue in a second class queue corresponding to the second class;

wherein:

the first class has a first set of QoS (Quality of Service) parameters and requires preservation of packet ordering; and

the second class has a second set of QoS parameters different from the first set of QoS parameters, and requires preservation of packet ordering.

11. The non-transitory computer-readable medium of claim 10 , wherein said dequeuing the first packet comprises:

dequeuing the flow queue from the first class queue; and

dequeuing the first packet from the flow queue.

12. The non-transitory computer-readable medium of claim 10 , wherein:

the flow queue comprises references to packets.

13. The non-transitory computer-readable medium of claim 12 , wherein:

each of the first class queue and the second class queue is configured to comprise references to flow queues.

14. The non-transitory computer-readable medium of claim 10 , wherein the method further comprises:

receiving a new packet; and

enqueuing the new packet within the flow queue.

15. The non-transitory computer-readable medium of claim 10 , wherein said identifying the second class of the second packet comprises:

classifying the second packet.

16. The non-transitory computer-readable medium of claim 10 , wherein the method further comprises:

storing a storage location of the flow queue;

wherein said enqueuing the flow queue within the first class queue comprises writing to an electronic storage area associated with the first class queue a reference to the storage location of the flow queue.

17. The non-transitory computer-readable medium of claim 10 , further comprising:

configuring one or more classification rules for classifying each packet of a heterogeneous communication flow to one of multiple classes, including the first class and the second class; and

the flow queue comprises packets of the heterogeneous communication flow.

Assignments (14)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
PATENT SECURITY AGREEMENT Recorded Jul 10, 2019
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 049720/0808 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2018
From: MCCANNE, STEVEN; TRAC, LAP NATHAN; SWAN, ANDREW
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 047684/0675 →