IP Library Granted Patent US 6,980,511
Granted Patent B1
US 6,980,511 · App. 09/626,400 · Granted Dec 27, 2005

Method of active dynamic resource assignment in a telecommunications network

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 6,980,511
App. No.
09/626,400
Granted
Dec 27, 2005
Kind
B1
Abstract

A method of adaptive resource allocation in transmitting data is provided. In particular, the method of the present invention is applicable to scheduling bandwidths using a modified and dynamic weighted round robin process. The method includes the steps of allocating a resource to each of a plurality of data transmitting active connections, the plurality of active connections belonging to more than one class of service. Then the method determines a lender class of service for each active connection from which resources may be reallocated to the active connection, and periodically comparing the resource usage of an active connection to an upper threshold and a lower threshold. Borrowing action for resources from the lender class of service for the active connection is carried out in response to the current usage exceeding the upper threshold, and returning action for borrowed resources to the lender class of service from the active connection in response to the current usage being less than the lower threshold is carried out.

Claims (79)

1. A method of adaptive resource allocation in transmitting data, comprising:

allocating a resource to each of a plurality of data transmitting active connections, the plurality of active connections belonging to more than one class of service;

determining a lender class of service for each active connection from which resources may be reallocated to the active connection;

periodically comparing the resource usage of an active connection to an upper threshold and a lower threshold;

borrowing resources from the lender class of service for the active connection in response to the current usage exceeding the upper threshold;

returning resources to the lender class of service from the active connection in response to the current usage being less than the lower threshold;

recording a time of the last resource reallocation action when resource was borrowed or returned for the active connection; and

comparing a current time with the last resource reallocation action time and proceeding or not proceeding to borrowing in response to the difference therebetween.

2. The method, as set forth in claim 1 , wherein periodically comparing the resource usage comprises comparing the resource usage of the active connection in response to receiving incoming data on the active connection.

3. The method, as set forth in claim 1 , wherein periodically comparing the resource usage comprises comparing the resource usage of the active connection in response to receiving an incoming cell of data on the active connection.

4. The method, as set forth in claim 1 , further comprising:

proceeding to borrow in response to the difference between the current time and the last resource reallocation action time being greater than a predetermined minimum time spacing requirement, and not proceeding to borrow in response to the difference between the current time and the last resource reallocation action time being less than or equal to the predetermined minimum time spacing requirement.

5. The method, as set forth in claim 1 , further comprising:

recording a time of an oldest borrow action when resource was borrowed for the active connection;

comparing a current time with the oldest borrow action time; and

proceeding to returning tin response to the difference between the current time and the oldest borrow action time being greater than a predetermined maximum borrow time requirement.

6. The method, as set forth in claim 1 , wherein borrowing comprises:

determining available resources of the lender class of service; and

proceed to borrowing if the available resources is sufficient.

7. The method, as set forth in claim 1 , further comprising:

storing data associated with each borrow action for each active connection, including:

a borrow action time;

an amount of resource borrowed for the active connection; and

an weight increment for the active connection.

8. The method, as set forth in claim 1 , further comprising:

storing data associated with each active connection, including:

a time of last resource reallocation for the active connection;

an enable indicative of whether resource reallocation is permitted for the active connection;

a lender class identifier indicative of the class of service that resources can be borrowed from;

an upper threshold indicative of need to borrow resources; and

a lower threshold indicative of need to return to borrowed resources.

9. The method, as set forth in claim 8 , wherein storing data associated with each active connection further comprises:

storing a minimum time spacing between resource reallocation actions; and

storing a maximum time to return borrowed resources.

10. The method, as set forth in claim 7 , further comprising storing data associated with each borrow action for each active connection in a linked list, with the oldest borrow action at the head of the linked list.

11. The method, as set forth in claim 10 , wherein returning borrowed resources comprises removing an oldest link in the linked list.

12. The method, as set forth in claim 1 , further comprising first scheduling resources using a weighted round robin method.

13. The method, as set forth in claim 1 , wherein borrowing and returning resources comprise borrowing and returning bandwidths.

14. The method, as set forth in claim 1 , wherein borrowing and returning resources comprise increasing and decreasing data sending rate.

15. A method of adaptive dynamic weight assignment for transmitting data, comprising:

assigning a total weight to each class of services;

assigning a weight to each of a plurality of data transmitting active connections in each class of services;

determining a lender class of service for each active connection from which weighting may be reallocated to the active connection;

periodically comparing the resource usage of an active connection to an upper threshold and a lower threshold;

borrowing additional weighting from the lender class of service for the active connection in response to the current usage exceeding the upper threshold;

returning borrowed weighting to the lender class of service from the active connection in response to the current usage being less than the lower threshold; and

storing data associated with each borrow action for each active connection, including:

a borrow action time;

an amount of resource borrowed for the active connection; and

a weight increment for the active connection.

16. The method, as set forth in claim 15 , wherein periodically comparing the resource usage comprises comparing the resource usage of the active connection in response to receiving incoming data on the active connection.

17. The method, as set forth in claim 15 , wherein periodically comparing the resource usage comprises comparing the resource usage of the active connection in response to receiving an incoming cell of data on the active connection.

18. The method, as set forth in claim 15 , further comprising:

recording a time of the last weighting reallocation action when weighting was borrowed or returned for the active connection;

comparing a current time with the last weighting reallocation action time and proceeding or not proceeding to borrowing in response to the difference therebetween.

19. The method, as set forth in claim 15 , further comprising:

recording a time of the last weighting reallocation action when weighting was borrowed or returned for the active connection;

comparing a current time with the last weighting reallocation action time; and

proceeding to borrowing in response to the difference between the current time and the last weighting reallocation action time being greater than a predetermined minimum time spacing requirement, and not proceeding to borrowing in response to the difference between the current time and the last weighting reallocation action time being less than or equal to the predetermined minimum time spacing requirement.

20. The method, as set forth in claim 15 , further comprising:

recording a time of an oldest borrow action when weighting was borrowed for the active connection;

comparing a current time with the oldest borrow action time; and

proceeding to returning in response to the difference between the current time and the oldest borrow action time being greater than a predetermined maximum borrow time requirement.

21. The method, as set forth in claim 15 , wherein borrowing comprises:

determining available weighting of the lender class of service; and

proceed to borrowing if the available weighting is sufficient.

22. The method, as set forth in claim 15 , further comprising:

storing data associated with each active connection, including:

a time of last weighting reallocation for the active connection;

an enable indicative of whether weighting reallocation is permitted for the active connection;

a lender class identifier indicative of the class of service that weighting can be borrowed from;

an upper threshold indicative of need to borrow weighting; and

a lower threshold indicative of need to return borrowed weighting.

23. The method, as set forth in claim 22 , wherein storing data associated with each active connection further comprises:

storing a minimum time spacing between resource allocation actions; and

storing a maximum time to return borrowed resources.

24. The method, as set forth in claim 15 , further comprising storing data associated with each borrow action for each active connection in a linked list, with the oldest borrow action at the head of the linked list.

25. The method, as set forth in claim 15 , wherein returning borrowed weighting comprises removing an oldest link in the linked list.

26. The method, as set forth in claim 15 , further comprising using a weighted round robin method to schedule bandwidth assignment.

Assignments (15)
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 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Dec 29, 2017
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: GENBAND US LLC
Reel/Frame 044986/0303 →
CORRECTIVE ASSIGNMENT TO CORRECT PATENT NO. 6381239 PREVIOUSLY RECORDED AT REEL: 039269 FRAME: 0234. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Jan 3, 2017
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 041422/0080 →
RELEASE AND REASSIGNMENT OF PATENTS Recorded Jul 7, 2016
From: COMERICA BANK, AS AGENT
To: GENBAND US LLC
Reel/Frame 039280/0467 →
PATENT SECURITY AGREEMENT Recorded Jul 6, 2016
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 039269/0234 →
RELEASE OF SECURITY INTEREST Recorded Jan 10, 2014
From: ONE EQUITY PARTNERS III, L.P., AS COLLATERAL AGENT
To: GENBAND US LLC
Reel/Frame 031968/0955 →
SECURITY AGREEMENT Recorded Nov 9, 2010
From: GENBAND US LLC
To: COMERICA BANK
Reel/Frame 025333/0054 →
PATENT SECURITY AGREEMENT Recorded Jun 18, 2010
From: GENBAND US LLC
To: ONE EQUITY PARTNERS III, L.P., AS COLLATERAL AGENT
Reel/Frame 024555/0809 →
CHANGE OF NAME Recorded Jun 2, 2010
From: GENBAND INC.
To: GENBAND US LLC
Reel/Frame 024468/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2009
From: SANTERA SYSTEMS, LLC
To: GENBAND, INC.
Reel/Frame 023471/0754 →
MERGER Recorded Mar 28, 2008
From: SANTERA SYSTEMS, INC.
To: SANTERA SYSTEMS, LLC
Reel/Frame 020741/0943 →
MERGER Recorded Mar 25, 2008
From: SANTERA SYSTEMS, INC.
To: SANTERA SYSTEMS, LLC
Reel/Frame 020723/0150 →