IP Library Granted Patent US 9,455,927
Granted Patent B1
US 9,455,927 · App. 14/061,330 · Granted Sep 27, 2016

Methods and apparatus for bandwidth management in a telecommunications system

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,455,927
App. No.
14/061,330
Granted
Sep 27, 2016
Kind
B1
Abstract

Methods and apparatus for sharing bandwidth over a link in a packet-oriented telecommunications system or network that supports multiple types of traffic including, e.g., real time packet flows, opportunistic rate packet flows, control and signaling traffic, are described. In one exemplary embodiment the method includes the steps of receiving a bandwidth allocation request requesting allocation of a required amount of bandwidth for a new real time packet flow, allocating the requested bandwidth from bandwidth reserved for newly-allocated real time packet flows, updating the measure of the total amount of bandwidth allocated to real time packet flows to reflect the allocation of the bandwidth to the new real time packet flow, and generating new bandwidth allocations for existing opportunistic rate packet flows based on a measure of the total amount of bandwidth allocated to real time packet flows. Some embodiments of the invention include methods to enforce the dynamic bandwidth allocations.

Claims (63)

1. A method of sharing bandwidth over a link in a system that supports multiple types of traffic, the method comprising:

receiving a bandwidth allocation request requesting allocation of a required amount of bandwidth for a new real time packet flow;

allocating the requested bandwidth from bandwidth reserved for newly-allocated real time packet flows, said bandwidth reserved for newly-allocated real time packet flows being in addition to a maximum bandwidth allocatable for existing real time packet flows, said bandwidth reserved for newly-allocated real time packet flows not being accessible to opportunistic rate packet flows; and

generating new bandwidth allocations for existing opportunistic rate packet flows based on a measure of the total amount of bandwidth allocated to real time packet flows, said generating new bandwidth allocation for existing opportunistic rate packet flows including:

determining an amount of bandwidth currently available for allocation to existing opportunistic rate packet flows based on the total amount of bandwidth available for allocation to support real time and opportunistic rate packet flows excluding the amount of bandwidth allocated to real time packet flows and the amount of the bandwidth reserved for newly-allocated real time packet flows; and

dividing the amount of bandwidth currently available for allocation to existing opportunistic rate packet flows among the existing opportunistic rate packet flows.

2. The method of claim 1 , further comprising, prior to generating new bandwidth allocations for existing opportunistic rate packet flows:

updating the measure of the total amount of bandwidth allocated to real time packet flows to reflect the allocation of the bandwidth to the new real time packet flow.

3. The method of claim 1 , further comprising, prior to allocating the requested bandwidth from bandwidth reserved for newly-allocated real time packet flows:

determining if the bandwidth required by said new real time packet flow plus bandwidth already allocated to real time packet flow is less than or equal to a maximum real time packet flow bandwidth constraint; and

wherein said step of allocating the requested bandwidth from bandwidth reserved for newly-allocated real time packet flows is performed in response to determining that the bandwidth required by said new real time packet flow plus bandwidth already allocated to real time packet flows is less than or equal to said maximum real time packet flow bandwidth constraint.

4. The method of claim 1 , further comprising:

performing a bandwidth allocation enforcement procedure, following allocating the requested bandwidth to the new real time packet flow, to enforce said new bandwidth allocations for existing opportunistic rate packet flows.

5. The method of claim 4 , wherein performing the bandwidth allocation enforcement procedure frees up at least an amount of bandwidth corresponding to the amount of bandwidth allocated to said new real time packet flow; and

wherein said bandwidth freed by enforcing the new bandwidth allocation for existing opportunistic rate packet flows restores the amount of reserved bandwidth available for newly-allocated real time packet flows to the amount available prior to allocating bandwidth to said new real time packet flow.

6. The method of claim 1 , further comprising:

determining if the amount of bandwidth currently available for opportunistic rate packet flows will not be sufficient to satisfy a sum of minimum bandwidth requirements of existing opportunistic rate packet flows; and

wherein the dividing the amount of bandwidth currently available for allocation to existing opportunistic rate packet flows further includes:

allocating the bandwidth currently available for opportunistic rate packet flows to maximize the number of opportunistic rate packet flows having minimum bandwidth requirements that can be satisfied.

7. The method of claim 1 , further comprising:

assigning a priority to each currently existing opportunistic rate packet flow;

determining if the amount of bandwidth currently available for opportunistic rate packet flows will not be sufficient to satisfy a sum of minimum bandwidth requirements of existing opportunistic rate packet flows; and

wherein the dividing the amount of bandwidth currently available for allocation to existing opportunistic rate packet flows further includes:

allocating the bandwidth currently available for opportunistic rate packet flows based on the priority assigned to the opportunistic rate packet flow.

8. A method of sharing bandwidth over a link in a system that supports multiple types of traffic, the method comprising:

receiving a bandwidth allocation request requesting allocation of a required amount of bandwidth for a new real time packet flow;

allocating the requested bandwidth from bandwidth reserved for newly-allocated real time packet flows, said bandwidth reserved for newly-allocated real time packet flows being in addition to a maximum bandwidth allocatable for existing real time packet flows, said bandwidth reserved for newly-allocated real time packet flows not being accessible to opportunistic rate packet flows; and

generating new bandwidth allocations for existing opportunistic rate packet flows based on a measure of the total amount of bandwidth allocated to real time packet flows, said generating new bandwidth allocation for existing opportunistic rate packet flows includes:

determining an amount of bandwidth currently available for each existing opportunistic rate packet flow based on the total amount of bandwidth available for allocation to support real time and opportunistic rate packet flows excluding the amount of bandwidth allocated to real time packet flows and the amount of the bandwidth reserved for newly-allocated real time packet flows divided by the number of existing opportunistic rate packet flows.

9. The method of claim 8 , further comprising:

receiving a bandwidth allocation request for a new opportunistic rate packet flow, said new opportunistic rate packet flow having a minimum bandwidth requirement; and

determining if the amount of bandwidth currently available for opportunistic rate packet flows will not be sufficient to satisfy a sum of minimum bandwidth requirements of existing opportunistic rate packet flows plus the minimum bandwidth requirement of the new opportunistic rate packet flow.

10. The method of claim 9 , further comprising:

when the amount of bandwidth currently available for opportunistic rate packet flows is sufficient to satisfy a sum of minimum bandwidth requirements of existing opportunistic rate packet flows plus the minimum bandwidth requirement of the new opportunistic rate packet flow:

determining new bandwidth allocations for existing opportunistic rate packet flows, said new bandwidth allocations being a function of the number of opportunistic rate packet flows which will exist after allocation of bandwidth to said new opportunistic rate packet flow and the amount of bandwidth currently available for opportunistic rate packet flows; and

allocating bandwidth to said new opportunistic rate packet flow.

11. The method of claim 10 , further comprising:

enforcing said new bandwidth allocations for existing opportunistic rate packet flows and said new opportunistic rate packet flow.

12. The method of claim 11 , wherein enforcing said new bandwidth allocations for existing opportunistic rate packet flows and said new opportunistic rate packet flow includes:

allowing one or more individual opportunistic rate packet flows to exceed their allocated bandwidth while the total bandwidth used by said opportunistic rate packet flows is below the total bandwidth currently available for use by opportunistic rate packet flows.

13. A border controller comprising:

memory for storing processor instructions; and

a processor configured to control the border controller to:

receive a bandwidth allocation request requesting allocation of a required amount of bandwidth (RRj) for a new real time packet flow (RTP flow j);

allocate the requested bandwidth from bandwidth (Bslack) reserved for newly-allocated real time packet flows, said bandwidth reserved for newly-allocated real time packet flows being in addition to a maximum bandwidth allocatable for existing real time packet flows, said bandwidth reserved for newly-allocated real time packet flows not being accessible to opportunistic rate packet flows;

generate new bandwidth allocations for existing opportunistic rate packet flows based on a measure of the total amount of bandwidth allocated to real time packet flows; and

determine an amount of bandwidth currently available for each existing opportunistic rate packet flow based on the total amount of bandwidth available for allocation to support real time and opportunistic rate packet flows excluding the amount of bandwidth allocated to real time packet flows (BRalloc) and the amount of the bandwidth reserved for newly-allocated real time packet flows (Bslack) divided by the number (N 0 ) of existing opportunistic rate packet flows.

14. The border controller of claim 13 , wherein said processor is further configured to:

update the measure of the total amount of bandwidth allocated to real time packet flows (BRalloc) to reflect the allocation of the bandwidth to the new real time packet flow.

15. The border controller of claim 13 , wherein said processor is further configured to:

determine if the bandwidth required (RR j ) by said new real time packet flow plus bandwidth already allocated to real time packet flow (BRalloc) is less than or equal to a maximum real time packet flow bandwidth constraint (B RMAX ); and

wherein said processor control the border controller to allocate the requested bandwidth from bandwidth (Bslack) reserved for newly-allocated real time packet flows in response to determining that the bandwidth required (RR j ) by said new real time packet flow plus bandwidth already allocated to real time packet flows (BRalloc) is less than or equal to said maximum real time packet flow bandwidth constraint (B RMAX ).

16. The border controller of claim 13 , wherein said processor is further configured to:

perform a bandwidth allocation enforcement procedure, following allocation of the requested bandwidth to the new real time packet flow, to enforce said new bandwidth allocations for existing opportunistic rate packet flows.

17. The border controller of claim 16 , wherein performing the bandwidth allocation enforcement procedure frees up an amount of bandwidth corresponding to at least the amount of bandwidth allocated to said new real time packet flow; and

wherein said bandwidth freed by enforcing the new bandwidth allocation for existing opportunistic rate packet flows restores the amount of reserved bandwidth available for newly-allocated real time packet flows to the amount available (Bslack) prior to allocating bandwidth to said new real time packet flow.

18. A computer program product for use in a border controller, the computer program product comprising:

a non-transitory computer readable medium comprising:

code for causing at least one computer to receive a bandwidth allocation request requesting allocation of a required amount of bandwidth (RRj) for a new real time packet flow (RTP flow j);

code for causing said at least one computer to allocate the requested bandwidth from bandwidth (Bslack) reserved for newly-allocated real time packet flows, said bandwidth reserved for newly-allocated real time packet flows being in addition to a maximum bandwidth allocatable for existing real time packet flows, said bandwidth reserved for newly-allocated real time packet flows not being accessible to opportunistic rate packet flows; and

code for causing said at least one computer to generate new bandwidth allocations for existing opportunistic rate packet flows based on a measure of the total amount of bandwidth allocated to real time packet flows, said code for causing said at least one computer to generate new bandwidth allocations for existing opportunistic rate packet flows including:

code for causing said at least one computer to determine an amount of bandwidth currently available for allocation to existing opportunistic rate packet flows based on the total amount of bandwidth available for allocation to support real time and opportunistic rate packet flows excluding the amount of bandwidth allocated to real time packet flows and the amount of the bandwidth reserved for newly-allocated real time packet flows; and

code for causing said at least one computer to divide the amount of bandwidth currently available for allocation to existing opportunistic rate packet flows among the existing opportunistic rate packet flows.

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 →
CHANGE OF NAME Recorded Dec 24, 2017
From: SONUS, INC.
To: SONUS NETWORKS, INC.
Reel/Frame 044957/0213 →
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 →
RELEASE OF SECURITY INTEREST Recorded Oct 24, 2017
From: BANK OF AMERICA, N.A.
To: SONUS NETWORKS, INC.; SONUS FEDERAL, INC.; NETWORK EQUIPMENT TECHNOLOGIES, INC.; PERFORMANCE TECHNOLOGIES, INCORPORATED; SONUS INTERNATIONAL, INC.; TAQUA, INC.
Reel/Frame 044283/0361 →
SECURITY INTEREST Recorded Sep 12, 2014
From: SONUS NETWORKS, INC.; SONUS FEDERAL, INC.; NETWORK EQUIPMENT TECHNOLOGIES, INC.; PERFORMANCE TECHNOLOGIES, INCORPORATED; SONUS INTERNATIONAL, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033728/0409 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2013
From: ASVEREN, TOLGA
To: SONUS NETWORKS, INC.
Reel/Frame 031463/0269 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2013
From: NAYAK, SUBHRANSU S; DUFFY, MARK; LI, SHIPING; PILOTTE, KEVIN
To: SONUS NETWORKS, INC.
Reel/Frame 031463/0321 →