IP Library Granted Patent US 7,379,420
Granted Patent B2
US 7,379,420 · App. 10/120,920 · Granted May 27, 2008

Method and apparatus for multiple qualities of service to different network connections of a single network path

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,379,420
App. No.
10/120,920
Granted
May 27, 2008
Kind
B2
Abstract

A method and apparatus are provided for providing multiple qualities of service to different virtual network connections. In one example, the method receives a token of a cell descriptor of data traffic of a virtual network connection. It is determined whether the token is in conformance with contracted bandwidth parameters of the cell descriptor to obtain a conformance status. Based on the conformance status, one of the following steps is performed: the token is inserted into a first random access memory configured to store the token for immediate output, or the token is inserted into a second random access memory configured to store the token for non-immediate output.

Claims (79)

1. A method of providing multiple qualities of service to different virtual network connections, the method comprising:

receiving a token of a cell descriptor of data traffic of a virtual network connection, the token including an identifier corresponding to contracted bandwidth parameters of the cell descriptor;

determining whether the token is in conformance with the contracted bandwidth parameters of the cell descriptor to obtain a conformance status;

inserting the token into a first random access memory configured to store the token for immediate output if the conformance status has a first value and a token with the same identifier has not been stored in the first memory;

inserting the token into a second random access memory configured to store the token for non-immediate output if the conformance status does not have the first value and a token with the same identifier has not been stored in the second memory;

otherwise, deferring the token by inserting it into a third random access memory, wherein deferring the token further comprises updating a count corresponding to the identifier of the deferred token;

replacing tokens removed from said first or sccond memory with deferred tokens from the third memory having the same identifier as the removed tokens until the count corresponding to said same identifier has a predetermined value, wherein said count is undated each time a removed token is replaced with a deferred token.

2. The method of claim 1 , wherein the step of inserting the token into the first random access memory comprises storing the token in a port list, and wherein the step of inserting the token into the second random access memory comprises storing the token in a calendar list.

3. The method of claim 1 , wherein the data traffic includes different virtual network connections transmitted on a single virtual network path.

4. The method of claim 1 , wherein the token is configured to indicate that the cell descriptor has characteristics including at least one of:

a particular shape identification configured to establish bandwidth parameters of the cell descriptor;

a particular queue identification configured to indicate a relative priority level of the cell descriptor; and

a particular count configured to indicate a number of identical transmit tokens to be transmitted simulianeously.

5. The method of claim 1 , wherein the step of receiving the token of the cell descriptor comprises inputting the token into a generic cell rate algorithm engine, and wherein the step of determining whether the token is in conformance is controlled by the generic cell rate algorithm engine.

6. The method of claim 1 , wherein the conformance status is one of:

conforming, indicating that the token is in conformance with the contracted bandwidth parameters of the cell descriptor and that the token is to be inserted into the first random access memory;

nonconforming, indicating that the token is not in conformance with the contracted bandwidth parameters of the cell descriptor and that the token is to be inserted into the second random access memory; or

defer, indicating that transmission of the token is to be deferred and that the token is not to be inserted into the first or second random access memory until a token with the same identifier has been outputted.

7. The method of claim 1 , wherein the determining step comprises determining that the conformance status is conforming, and wherein the method further comprises immediately outputting the token.

8. The method of claim 1 , wherein the determining step comprises determining that the conformance status is nonconforming, and wherein the method further comprises:

scheduling the token to be inserted into the first random access memory at a later time;

upon arrival of the later time, transferring the token into a fourth random access memory configured to store the token for transfer to the first random access memory at another later time.

9. The method of claim 8 , wherein the step of transferring the token into the fourth random access memory comprises storing the token in a mature list.

10. The method of claim 8 , wherein the method further comprises:

comparing a priority level of the token with other priority levels of other tokens of different virtual connections to determine a highest priority token; and

transferring the highest priority token from the fourth random access memory to the first random access memory.

11. An integrated circuit configured to provide multiple qualities of service to different virtual network connections, the integrated circuit comprising:

controller circuitry configured to control operations of:

receiving a token of a cell descriptor of data traffic of a virtual network connection, the token including an identifier corresponding to contracted bandwidth parameters of the cell descriptor;

determining whether the token is in conformance with the contracted bandwidth parameters of the cell descriptor to obtain a conformance status;

inserting the token into a first random access memory configured to store the token for immediate output if the conformance status has a first value and a token with the same identifier has not been stored in the first memory;

inserting the token into a second random access memory configured to store the token for non-immediate output if the conformance status does not have the first value and a token with the same identifier has not been stored in the second memory;

otherwise, deferring the token by inserting it into a third random access memory, wherein deferring the token further comprises updating a count corresponding to the identifier of the deferred token;

replacing tokens removed from said first or second memory with deferred tokens from the third memory having the same identifier as the removed tokens until the count corresponding to said same identifier has a predetermined value, wherein said count is updated each time a removed token is replaced with a deferred token.

12. The integrated circuit of claim 11 , wherein the operation of inserting the token into the first random access memory further configures the controller circuitry to control storing the token in a port list, and wherein the step of inserting the token into the second random access memory further configures the controller circuitry to control storing the token in a calendar list.

13. The integrated circuit of claim 11 , wherein the data traffic includes different virtual network connections transmitted on a single virtual network path.

14. The integrated circuit of claim 11 , wherein the token is configured to indicate that the cell descriptor has characteristics including at least one of:

a particular shape identification configured to establish bandwidth parameters of the cell descriptor;

a particular queue identification configured to indicate a relative priority level of the cell descriptor; and

a particular count configured to indicate a number of identical transmit tokens to be transmitted simultaneously.

15. The integrated circuit of claim 11 , wherein the operation of receiving the token of the cell descriptor further configures the controller circuitry to control inputting the token into a generic cell rate algorithm engine of the integrated circuit.

16. The integrated circuit of claim 11 , wherein the conformance status is one of:

conforming, indicating that the token is in conformance with the contracted bandwidth parameters of the cell descriptor and that the token is to be inserted into the first random access memory;

nonconforming, indicating that the token is not in conformance with the contracted bandwidth parameters of the cell descriptor and that the token is to be inserted into the second random access memory; or

defer, indicating that transmission of the token is to be deferred and that the token is not to be inserted into the first or second random access memory until a token with the same identifier has been outputted.

17. The integrated circuit of claim 11 , wherein the determining operation further configures the controller circuitry to control determining that the conformance status is conforming, and wherein the controller circuitry is further configured to control immediately outputting the token.

18. The integrated circuit of claim 11 , wherein the determining operation further configures the controller circuitry to control determining that the conformance status is nonconforming, and wherein the controller circuitry is further configured to control operations of:

scheduling the token to be inserted into the first random access memory at a later time;

upon arrival of the later time, transferring the token into a fourth random access memory configured to store the token for transfer to the first random access memory at another later time.

19. The integrated circuit of claim 18 , wherein the operation of transferring the token into the fourth random access memory further configures the controller circuitry to control storing the token in a mature list.

20. The integrated circuit of claim 18 , wherein the controller circuitry is further configured to control operations of:

comparing a priority level of the token with other priority levels of other tokens of different virtual connections to determine a highest priority token; and

transferring the highest priority token from the third random access memory to the first random access memory.

21. A computer-readable medium carrying one or more sequences of one or more instructions for providing multiple qualities of service to different virtual network connections, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform steps of:

receiving a token of a cell descriptor of data traffic of a virtual network connection, the token including an identifier corresponding to contracted bandwidth parameters of the cell descriptor;

determining whether the token is in conformance with the contracted bandwidth parameters of the cell descriptor to obtain a conformance status;

inserting the token into a first random access memory configured to store the token for immediate output if the conformance status has a first value and a token with the same identifier has not been stored in the first memory;

inserting the token into a second random access memory configured to store the token for non-immediate output if the conformance status does not have the first value and a token with the same identifier has not been stored in the second memory; and

otherwise, deferring the token by inserting it into a third random access memory, wherein deferring the token further comprises updating a count corresponding to the identifier of the deferred token;

replacing tokens removed from said first or second memory with deferred tokens from the third memory having the same identifier as the removed tokens until the count corresponding to said same identifier has a predetermined value, wherein said count is updated each time a removed token is replaced with a deferred token.

22. The computer-readable medium of claim 21 , wherein the step of inserting the token into the first random access memory further causes the processor to carry out a step of storing the token in a port list, and wherein the step of inserting the token into the second random access memory further causes the processor to carry out a step of storing the token in a calendar list.

23. The computer-readable medium of claim 21 , wherein the data traffic includes different virtual network connections transmitted on a single virtual network path.

24. The computer-readable medium of claim 21 , wherein the token is configured to indicate that the cell descriptor has characteristics including at least one of:

a particular shape identification configured to establish bandwidth parameters of the cell descriptor;

a particular queue identification configured to indicate a relative priority level of the cell descriptor; and

a particular count configured to indicate a number of identical transmit tokens to be transmitted simultaneously.

25. The computer-readable medium of claim 21 , wherein the step of receiving the token of the cell descriptor further configures the processor to carry out a step of inputting the token into a generic cell rate algorithm engine, and wherein the step of determining whether the token is in conformance is controlled by the generic cell rate algorithm engine.

26. The computer-readable medium of claim 21 , wherein the conformance status is one of:

conforming, indicating that the token is in conformance with the contracted bandwidth parameters of the cell descriptor and that the token is to be inserted into the first random access memory;

nonconforming, indicating that the token is not in conformance with the contracted bandwidth parameters of the cell descriptor and that the token is to be inserted into the second random access memory; or

defer, indicating that transmission of the token is to be deferred and that the token is not to be inserted into the first or second random access memory until a token with the same identifier has been outputted.

27. The computer-readable medium of claim 21 , wherein the determining step further causes the processor to carry out determining that the conformance status is conforming, and wherein the instructions further cause the processor to carry out a step of immediately outputting the token.

28. The computer-readable medium of claim 21 , wherein the determining step further causes the processor to carry out a step of determining that the conformance status is nonconforming, and wherein the instructions further cause the processor to carry out steps of:

scheduling the token to be inserted into the first random access memory at a later time;

upon arrival of the later time, transferring the token into a fourth random access memory configured to store the token for transfer to the first random access memory at another later time.

29. The computer-readable medium of claim 28 , wherein the step of transferring the token into the fourth random access memory further causes the processor to carry out a step of storing the token in a mature list.

30. The computer-readable medium of claim 28 , wherein the instructions further cause the processor to carry out steps of:

comparing a priority level of the token with other priority levels of other tokens of different virtual connections to determine a highest priority token; and

transferring the highest priority token from the third random access memory to the first random access memory.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2017
From: NETWORK EQUIPMENT TECHNOLOGIES, INC.
To: SONUS NETWORKS, INC.
Reel/Frame 044904/0829 →
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 →