IP Library Granted Patent US 7,272,144
Granted Patent B2
US 7,272,144 · App. 10/180,736 · Granted Sep 18, 2007

Method and apparatus for queuing data flows

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,272,144
App. No.
10/180,736
Granted
Sep 18, 2007
Kind
B2
Abstract

In a data system, such as a cable modem termination system, different-priority flows are scheduled to be routed to their logical destinations by factoring both the priority level and the time spent in queue. The time that each packet of each flow spends waiting for transmission is normalized such that the waiting times of all flows are equalized with respect to each other. A latency scaling parameter is calculated.

Claims (32)

1. In a data system that receives data packets and routes said data packets to one or more destinations, each data packet to be routed to it's destination according to a relative scheduling priority, said data system having a plurality of data queues corresponding to the relative scheduling priorities of said packets, a method of scheduling the delivery of packets to a destination comprising:

assigning at least one desired latency characteristic to each relative scheduling priority;

determining at least one latency scaling parameter for each relative scheduling priority, as a function of the at least one desired latency characteristic;

for each data packet, assigning a data value indicating the packet's arrival time;

storing each data packet, and it's assigned data value, into at least one queue corresponding to the packet's relative scheduling priority;

for each data queue, determining the current latency value for the packet that has been in the queue the longest (i.e., the oldest data packet) using it's assigned data value and the current time;

for each data queue, determining if the oldest data packet is eligible to be routed (i.e., an eligible data packet) to a destination based on said oldest data packet's current latency value and the desired latency characteristics assigned to the relative scheduling priority corresponding to said data queue;

for each data queue having an eligible data packet, calculating a result of a first function of each eligible data packet's current latency and the latency scaling parameter determined for the relative scheduling priority corresponding to said data queue;

scheduling the delivery of at least one data packet to a destination using a selection function based on the calculated result of the first function.

2. The method of claim 1 wherein said selection function is comprised of comparing the results obtained from the first function calculations and identifying a queue with the result best approximating the desired latency characteristic thereof and selecting the oldest packet from that queue.

3. The method of claim 1 wherein one of said desired latency characteristics includes a minimum desired latency, said first function is comprised of subtracting the minimum desired latency from said packet's current latency and multiplying the results of said subtraction by the latency scaling parameter.

4. The method of claim 1 wherein said desired latency characteristics includes a minimum desired latency and a maximum desired latency, said latency scaling parameter is inversely proportional to the difference between the maximum desired latency and the minimum desired latency.

5. The method of claim 3 wherein said desired latency characteristics includes a minimum desired latency and a maximum desired latency, said latency scaling parameter is inversely proportional to the difference between the maximum desired latency and the minimum desired latency.

6. The method of claim 1 wherein said desired latency characteristic includes a minimum desired latency, said eligibility of said oldest data packet is established when the oldest data packet's current latency is equal to or greater than the minimum desired latency.

7. The method of claim 3 wherein the selection function is comprised of identifying a data queue with the greatest result of the first function calculations and selecting the oldest packet from that data queue.

8. The method of claim 5 wherein the selection function is comprised of identifying a data queue with the greatest result of the first function calculations and selecting the oldest packet from that data queue.

9. In a data system that receives data packets and routes said data packets to one or more destinations, each data packet to be routed to it's destination according to a relative scheduling priority, said data system having a plurality of data queues corresponding to the relative scheduling priorities of said packets, a method of scheduling the delivery of packets to a destination comprising:

assigning at least one desired latency characteristic to each relative scheduling priority;

storing at least one data packet into a queue corresponding to the packet's relative scheduling priority;

for at least one data packet in each data queue, determining a latency for said at least one data packet;

for said at least one data packet from each data queue, the latencies of which were determined, calculating a result of a first function of: a) each packet's latency and b) the at least one desired latency characteristic assigned to the relative scheduling priority for each packet;

scheduling the delivery of at least one data packet to a destination using a selection function based on the calculated result of the first function;

wherein said desired latency characteristics include a maximum desired latency, when at least one data queue has an oldest packet whose current latency exceeds the maximum desired latency assigned to the relative scheduling priority corresponding to said data queue (i.e., a latency violating queue), the selection function is comprised of selecting a queue from all latency violating queues with the highest relative scheduling priority (i.e. strict priority), and selecting the oldest packet from that queue.

10. The method of claim 1 wherein said desired latency characteristics include a maximum desired latency, when at least one data queue has an oldest packet whose current latency exceeds the maximum desired latency assigned to the relative scheduling priority corresponding to said data queue (i.e., a latency violating queue), the selection function is comprised of selecting a queue from all latency violating queues with the highest relative scheduling priority (i.e. strict priority), and selecting the oldest packet from that queue.

11. The method of claim 1 wherein said desired latency characteristics includes a minimum desired latency, the step of determining if the oldest data packet is eligible includes determining if said oldest data packet's current latency value is greater than or equal to the minimum desired latency.

12. A data system that receives data packets and routes said data packets to one or more destinations, each data packet to be routed to it's destination according to a relative scheduling priority, said data system having a plurality of data queues corresponding to the relative scheduling priorities of said packets, said data system comprising:

processor means for assigning at least one desired latency characteristic to each relative scheduling priority;

processor means for determining at least one latency scaling parameter for each relative scheduling priority, as a function of the at least one desired latency characteristic;

a time stamp circuit means for assigning a data value indicating the packet's arrival time;

a memory, storing each data packet, and it's assigned data value, into at least one queue corresponding to the packet's relative scheduling priority;

means for determining for each data queue, the current latency value for the data packet that has been in the queue the longest (i.e., the oldest data packet) using it's assigned data value and the current time; and for determining for each data queue, if the oldest data packet is eligible to be routed (i.e., an eligible data packet) to a destination based on said oldest data packet's current latency value and the desired latency characteristics assigned to the relative scheduling priority corresponding to said data queue; for each data queue having an eligible data packet, calculating a result of a first function of at least one of: a) each eligible data packet's current latency; b) the desired latency characteristic assigned to the relative scheduling priority corresponding to said data queue; c) the latency scaling parameter determined for the relative scheduling priority corresponding to said data queue;

scheduling engine for scheduling the delivery of at least one data packet to a destination using a selection function based on the calculated result of the first function.

Assignments (13)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
CHANGE OF NAME Recorded Jun 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049586/0470 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
Reel/Frame 048825/0294 →
CHANGE OF NAME Recorded Mar 14, 2017
From: ARRIS ENTERPRISES INC
To: ARRIS ENTERPRISES LLC
Reel/Frame 041995/0031 →
SECURITY AGREEMENT Recorded May 28, 2013
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS; BIGBAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030498/0023 →
MERGER Recorded Apr 16, 2013
From: ARRIS GROUP, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 030228/0349 →
MERGER Recorded Oct 4, 2007
From: ARRIS INTERNATIONAL, INC.
To: ARRIS GROUP, INC.
Reel/Frame 019910/0933 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2002
From: CLOONAN, THOMAS J.; HOWE, JEFFREY J.; URBAN, KEVIN P.
To: ARRIS INTERNATIONAL INC.
Reel/Frame 013058/0160 →