IP Library Granted Patent US 8,514,700
Granted Patent B2
US 8,514,700 · App. 12/915,790 · Granted Aug 20, 2013

MLPPP occupancy based round robin

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,514,700
App. No.
12/915,790
Granted
Aug 20, 2013
Kind
B2
Abstract

Embodiments of the invention are directed to providing a method for selecting a link for transmitting a data packet, from links of a Multi-Link Point-to-Point Protocol (MLPPP) bundle, by compiling a list of links having a minimum queue depth and selecting the link in a round robin manner from the list. Some embodiments of the invention further provide for a flag to indicate if the selected link has been assigned to a transmitter so that an appropriate link will be selected even if link queue depth status is not current.

Claims (48)

1. A method of selecting a link for transmitting a data packet, from a plurality of links of a Multi-Link Point-to-Point Protocol (MLPPP) bundle, the method comprising steps of:

compiling a first list of active links from said plurality of links in said MLPPP bundle;

compiling from said first list, a second list of links having a minimum queue depth;

based on said second list having more than one member, applying a round robin scheduling algorithm to the second list to identify a link of the second list as the selected link; and

enqueuing the packet in an output queue associated with the selected link.

2. The method of claim 1 , wherein said round robin scheduling algorithm comprises addressing a plurality of links of the second list in a circular sequence and wherein said selected link comprises the link following a previously-selected link in said sequence.

3. The method of claim 2 , further comprising steps of:

setting a flag associated with said selected link when assigning said data packet for transmission on said selected link; and

reading said flag when selecting said selected link,

wherein, if said flag is not set, said selected link comprises said previously-selected link in said sequence.

4. The method of claim 2 , further comprising a step of determining if at least one link in said first list has a queue depth below its respective link queue threshold, and if so, restricting said first list to links having a queue depth below their respective link queue threshold.

5. The method of claim 1 , wherein said data packet comprises a fragment of a larger data packet.

6. The method of claim 1 , further comprising:

determining whether a previously selected link has been polled since a previous round robin update; and

wherein the round robin scheduling algorithm selects the previous selected link as the selected link based on the previous selected link having been polled since a previous round robin update.

7. The method of claim 1 , wherein compiling from said first list a second list of links having a minimum queue depth comprising reading the queue depths for the plurality of links from a bundle status memory (BSM).

8. A non-transitory machine-readable storage medium encoded with instructions for selecting a link for transmitting a data packet, from a plurality of links of a Multi-Link Point-to-Point Protocol (MLPPP) bundle, the medium comprising:

instructions for compiling a first list of active links from said plurality of links in said MLPPP bundle;

instructions for compiling from said first list, a second list of links having a minimum queue depth;

instructions for based on said second list having more than one member, applying a round robin scheduling algorithm to the second list to identify a link of the second list as the selected link; and

instructions for enqueuing the packet in an output queue associated with the selected link.

9. The non-transitory machine-readable storage medium of claim 8 , wherein said round robin scheduling algorithm comprises addressing a plurality of links of the second list in a circular sequence and wherein said selected link comprises the link following a previously-selected link in said sequence.

10. The non-transitory machine-readable storage medium of claim 9 , further comprising:

instructions for setting a flag associated with said selected link when assigning said data packet for transmission on said selected link; and

instructions for reading said flag when selecting said selected link,

wherein, if said flag is not set, said selected link comprises said previously-selected link in said sequence.

11. The non-transitory machine-readable storage medium of claim 9 , further comprising instructions for determining if at least one link in said first list has a queue depth below its respective link queue threshold, and if so, restricting said first list to links having a queue depth below their respective link queue threshold.

12. The non-transitory machine-readable storage medium of claim 8 , wherein said data packet comprises a fragment of a larger data packet.

13. The non-transitory machine-readable storage medium of claim 8 , further comprising:

instructions for determining whether a previously selected link has been polled since a previous round robin update; and

wherein the round robin scheduling algorithm selects the previous selected link as the selected link based on the previous selected link having been polled since a previous round robin update.

14. A network node for transmitting a data packet over a link of a plurality of links of a Multi-Link Point-to-Point Protocol (MLPPP) bundle, the network node comprising:

a plurality of output queues, including a first output queue associated with a first link of the plurality of links; and

a processor configured to:

compile a first list of active links from said plurality of links in said MLPPP bundle,

compile from said first list, a second list of links having a minimum queue depth,

based on said second list having more than one member, apply a round robin scheduling algorithm to the second list to identify the first link as the selected line, and enqueue the packet in the first output queue.

15. The network node of claim 14 , wherein said round robin scheduling algorithm comprises addressing a plurality of links of the second list in a circular sequence and wherein said selected link comprises the link following a previously- selected link in said sequence.

16. The network node of claim 15 , wherein the processor is further configured to:

set a flag associated with said selected link when assigning said data packet for transmission on said selected link; and

read said flag when selecting said selected link,

wherein, if said flag is not set, said selected link comprises said previously-selected link in said sequence.

17. The network node of claim 15 , wherein the processor is further configured to determine if at least one link in said first list has a queue depth below its respective link queue threshold, and if so, restricting said first list to links having a queue depth below their respective link queue threshold.

18. The network node of claim 14 , wherein said data packet comprises a fragment of a larger data packet.

19. The network node of claim 14 , wherein the processor is further configured to:

determine whether a previously selected link has been polled since a previous round robin update; and

wherein the round robin scheduling algorithm selects the previous selected link as the selected link based on the previous selected link having been polled since a previous round robin update.

20. The network node of claim 14 , further comprising a bundle status memory (BSM) configured to store queue depths for the plurality of output queues wherein, in compiling from said first list, a second list of links having a minimum queue depth, the processor is configured to read the queue depths from the BSM.

Assignments (6)
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP
To: WSOU INVESTMENTS, LLC
Reel/Frame 049246/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: ALCATEL LUCENT
To: WSOU INVESTMENTS, LLC
Reel/Frame 044000/0053 →
SECURITY INTEREST Recorded Sep 21, 2017
From: WSOU INVESTMENTS, LLC
To: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP
Reel/Frame 043966/0574 →
RELEASE OF SECURITY INTEREST Recorded Sep 4, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT CANADA INC.
Reel/Frame 033686/0798 →
SECURITY INTEREST Recorded Jan 30, 2013
From: ALCATEL-LUCENT CANADA INC.
To: CREDIT SUISSE AG
Reel/Frame 029826/0927 →