IP Library Granted Patent US 9,788,210
Granted Patent B2
US 9,788,210 · App. 13/915,280 · Granted Oct 10, 2017

Methods and systems for adaptive buffer allocations in systems with adaptive resource allocation

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,788,210
App. No.
13/915,280
Granted
Oct 10, 2017
Kind
B2
Abstract

Systems disclosed herein may allocate buffer space using methods, which prevent other resource allocation methods from apportioning the other resources in a way that inhibits system needs from being met. As such, buffer space may be dynamically allocated without impeding other resource allocation by basing the buffer space allocation at least on the traffic priority class that each allocated buffer will handle. Alternatively, buffer space may be dynamically allocated without impeding other resource allocation by basing the buffer space allocation at least on the bandwidth needs of each respective buffer being allocated. Alternatively still, buffer space may be dynamically allocated without impeding other resource allocation by basing the buffer space allocation at least on a function of the traffic priority class that each allocated buffer will handle and the bandwidth needs of each respective buffer being allocated.

Claims (96)

1. A method of resource allocation comprising:

determining, by a centralized node adapted to provide backhaul data services for a network, traffic priority classes for data associated with one or more remote units, wherein the centralized node comprises a buffer, and wherein the buffer of the centralized node is partitioned into a plurality of buffer partitions, each buffer partition of the plurality of buffer partitions corresponding to a particular traffic priority class for data traffic associated with a particular remote unit of the one or more remote units;

determining, by the centralized node, a data rate limit corresponding to each of the traffic priority classes, wherein the data rate limit for a particular traffic priority class indicates a maximum information rate enforced by a traffic shaping node of the network;

determining a first desirable buffer size for each buffer partition of the plurality of buffer partitions, wherein the first desirable buffer size for each of the buffer partitions of the plurality of buffer partitions is determined based on, and is proportional to, a maximum information rate for data traffic of the traffic priority class corresponding to each of the plurality of buffer partitions, said determining the first desirable buffer size for each buffer partition of the plurality of buffer partitions being according to:

Q

j

=

TBS

×

MIR

j

k

=

1

N

M

k

MIR

k

,

where Q j represents the first desirable buffer size for a buffer partition for a traffic priority class j, TBS represents the total buffer size, and MIR j represents the data rate limit for the traffic priority class j, M k represents the number of buffer partitions allocated for a traffic priority class k, and MIR k represents the data rate limit for the buffer partition k of the M k buffer partitions, and Σ k=1 N M k MIR k represents a total bandwidth need for all buffer partitions for traffic priority class k; and

allocating, by the centralized node, buffer space for each buffer partition of the plurality of buffer partitions based on the first desirable buffer size determined for each of the buffer partitions.

2. The method of claim 1 wherein the centralized node comprises a processor or a remote unit comprises a processor adapted to determine the traffic priority classes, the data rate limit corresponding to each of the traffic priority classes, and the first desirable buffer size for each buffer partition and to allocate buffer space to each buffer partition of the plurality of buffer partitions.

3. The method of claim 2 wherein said buffer space allocation is further based at least on a total buffer space.

4. A system operable to allocate system resources comprising:

a plurality of buffers operable to buffer data traffic, wherein each buffer is associated with one of a plurality of traffic priority classes; and

a processor operable to:

determine a high queue length threshold for each traffic priority class in said plurality of traffic priority classes, wherein, for each of said plurality of traffic priority classes, said high queue length threshold represents a high level of traffic flow;

determine a first desirable buffer size for each buffer of said plurality of buffers based at least on said high queue length threshold for each traffic priority class; and

allocate buffer space to each respective buffer based at least on said determined first desirable buffer size, wherein, for each respective buffer, said buffer space allocation accounts for spikes in data traffic by providing an allocation of buffer space for each of said plurality of buffers that is greater than the high queue length, said determining the first desirable buffer size for each buffer partition of the plurality of buffer partitions being according to:

Q

j

=

TBS

×

MIR

j

k

=

1

N

M

k

MIR

k

,

where Q j represents the first desirable buffer size for a buffer partition for a traffic priority class j, TBS represents the total buffer size, and MIR j represents the data rate limit for the traffic priority class j, M k represents the number of buffer partitions allocated for a traffic priority class k, and MIR k represents the data rate limit for the buffer partition k of the M k buffer partitions, and Σ k=1 N M k MIR k represents a total bandwidth need for all buffer partitions for traffic priority class k.

5. The system of claim 4 wherein the processor is further operable to determine the first desirable buffer size for each buffer to account for spikes in traffic by multiplying the high queue length threshold by a factor (K) such that each of said plurality of buffers is sized K times the high queue length threshold.

6. The system of claim 5 wherein a centralized node comprises the processor or a remote unit comprises the processor.

7. The system of claim 4 wherein the processor is further operable to allocate other system resources based at least on queue lengths of said buffers, wherein said buffer space allocation does not cause the other resource allocation to allocate other resources such that system needs are not met.

8. The system of claim 4 wherein the processor is further operable to:

determine a second desirable buffer size for each buffer of the plurality of buffers based at least on the bandwidth needs of the respective buffers;

determine a functional desirable buffer size for each buffer of the plurality of buffers based at least on a function of the first desirable buffer size and the second desirable buffer size; and

allocate buffer space to each respective buffer based at least on said determined functional desirable buffer size.

9. The system of claim 8 wherein the second desirable buffer size is based at least on a maximum information rate of each said traffic priority class.

10. The system of claim 4 wherein the processor allocates the buffer space to each respective buffer based at least on a total buffer space.

11. A system allocating resources comprising:

means for determining a first desirable buffer size for each buffer of a plurality of buffers based at least on a traffic priority class of the respective buffer;

means for determining a second desirable buffer size for each buffer of the plurality of buffers based at least on the bandwidth needs of the respective buffer;

means for determining a functional desirable buffer size for each buffer of the plurality of buffers based at least on a function of the first desirable buffer size and the second desirable buffer size, wherein, for a particular buffer of the plurality of buffers, the functional desirable buffer size is determined based on a function of a first desirable buffer size determined for the particular buffer based at least on a traffic priority class of the particular buffer and a second desirable buffer size determined for the particular buffer based at least on bandwidth needs of the particular buffer, said determining the functional desirable buffer size for each buffer partition of the plurality of buffer partitions being according to:

Q

j

=

TBS

×

MIR

j

k

=

1

N

M

k

MIR

k

,

where Q j represents the first desirable buffer size for a buffer partition for a traffic priority class j, TBS represents the total buffer size, and MIR j represents the data rate limit for the traffic priority class j, M k represents the number of buffer partitions allocated for a traffic priority class k, and MIR k represents the data rate limit for the buffer partition k of the M k buffer partitions, and Σ k=1 N M k MIR k represents a total bandwidth need for all buffer partitions for traffic priority class k; and

means for allocating buffer space to each respective buffer based at least on said determined functional desirable buffer size.

12. The system of claim 11 further comprising:

means for determining a high queue length threshold for each said traffic priority class, wherein determining the first desirable buffer size for each buffer is based at least on the high queue length threshold.

13. The system of claim 12 wherein determining the high queue length threshold comprises at least one of:

performing calculations; and

referencing a lookup table.

14. The system of claim 11 wherein the second desirable buffer size is based at least on a maximum information rate of each said traffic priority class.

15. The system of claim 11 wherein allocating the buffer space to each respective buffer is further based at least on a total buffer space.

16. The system of claim 11 further comprising:

means for allocating other system resources based at least on queue lengths of said buffers, wherein said buffer space allocation does not cause the other resource allocation to allocate other resources such that system needs are not met.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 067822/0433 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 044978/0801 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058949/0497 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
CHANGE OF NAME Recorded Jan 16, 2019
From: SONUS NETWORKS, INC.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 048078/0036 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
MERGER AND CHANGE OF NAME Recorded Dec 24, 2017
From: SOLSTICE SAPPHIRE, INC.; SONUS NETWORKS, INC.; SONUS NETWORKS, INC.
To: SONUS, INC.
Reel/Frame 044957/0243 →
CHANGE OF NAME Recorded Dec 24, 2017
From: SONUS, INC.
To: SONUS NETWORKS, INC.
Reel/Frame 044957/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2017
From: TAQUA WBH, LLC
To: SONUS NETWORKS, INC.
Reel/Frame 042648/0291 →
RELEASE OF SECURITY INTEREST Recorded Sep 28, 2016
From: BUSINESS DEVELOPMENT CORPORATION OF AMERICA, AS ADMINISTRATIVE AGENT
To: TAQUA WBH, LLC
Reel/Frame 040173/0100 →
NOTICE OF GRANT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Aug 7, 2014
From: TAQUA WBH, LLC
To: BUSINESS DEVELOPMENT CORPORATION OF AMERICA, AS ADMINISTRATIVE AGENT
Reel/Frame 033493/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2013
From: ARAD, SEYED MOHAMMAD ALI
To: TAQUA WBH, LLC
Reel/Frame 031687/0646 →