Systems and methods for data channel queue control in a communications network
First Claim
1. A system for controlling data transfer from an application resident at a node of a network to a queue for a data channel which communicates data from the node, the queue including an amount of queued data and occupying portions of a communications buffer having a buffer storage capacity, the data channel communicating queued data at a data flow rate, the system comprising:
- application data transfer controlling means, responsive to the queue, for disabling data transfer from the application and the queue such that data transfer from the application to the queue when the amount of queued data in the queue is greater than a first queue limit and for enabling data transfer from the application to the queue when the amount of queued data in the queue is less than a second queue limit;
queue limit determining means, responsive to the queue and to said application data transfer controlling means, for dynamically and automatically determining said first and second queue limits based upon multiple criteria including at least the amount of queued data queued in the queue, the data flow rate of the data channel, the buffer storage capacity and the state of said application data transfer controlling means.
2 Assignments
0 Petitions
Accused Products
Abstract
Data transfer from an application at a node of a network to a queue for a data channel is disabled when the amount of queued data in the queue is greater than a first limit and enabled when the amount of queued data in the queue is less than a second limit. The first queue limit preferably is increased when data transfer is disabled and the amount of queued data in the queue is less than the buffer storage capacity and decreased when data transfer is enabled and the data flow rate of the data channel is decreased. The second queue limit preferably is increased when data transfer is enabled and the amount of queued data in the queue is less than a predetermined data channel starvation threshold and decreased if, after data transfer from the application to the queue becomes enabled and an amount of queued data the same as the second queue limit has been communicated from the queue to the data channel, the amount of queued data in the queue is greater than a predetermined threshold. Preferably, the limits include an integral multiple of the predetermined amount of data in a burst, and are increased and decreased by an integral multiple of the predetermined amount of data in a burst. In response to a decrease in the available global storage capacity, the first and second queue limits may be reduced by first and second predetermined amounts, respectively, the first and second predetermined amounts preferably being the same.
130 Citations
30 Claims
-
1. A system for controlling data transfer from an application resident at a node of a network to a queue for a data channel which communicates data from the node, the queue including an amount of queued data and occupying portions of a communications buffer having a buffer storage capacity, the data channel communicating queued data at a data flow rate, the system comprising:
-
application data transfer controlling means, responsive to the queue, for disabling data transfer from the application and the queue such that data transfer from the application to the queue when the amount of queued data in the queue is greater than a first queue limit and for enabling data transfer from the application to the queue when the amount of queued data in the queue is less than a second queue limit; queue limit determining means, responsive to the queue and to said application data transfer controlling means, for dynamically and automatically determining said first and second queue limits based upon multiple criteria including at least the amount of queued data queued in the queue, the data flow rate of the data channel, the buffer storage capacity and the state of said application data transfer controlling means.
-
-
2. A system for controlling data transfer from an application resident at a node of a network to a queue for a data channel which communicates data from the node, the queue including an amount of queued data and occupying portions of a communications buffer having a buffer storage capacity, the data channel communicating queued data at a data flow rate, wherein the data channel communicates queued data in bursts including a predetermined amount of data during a plurality of burst intervals, the system comprising:
-
application data transfer controlling means, responsive to the queue, for disabling data transfer from the application and the queue such that data transfer from the application to the queue when the amount of queued data in the queue is greater than a first queue limit and for enabling data transfer from the application to the queue when the amount of queued data in the queue is less than a second queue limit; queue limit determining means, responsive to the queue and to said application data transfer controlling means, for dynamically and automatically determining said first and second queue limits from the amount of queued data queued in the queue, the data flow rate of the data channel, the buffer storage capacity and the state of said application data transfer controlling means, wherein said queue limit determining means comprises; means for increasing said first queue limit when data transfer from the application to the queue is disabled and the amount of queued data in the queue is less than the buffer storage capacity; means for decreasing said first queue limit when data transfer from the application to the queue is enabled and the data flow rate of the data channel is decreased; means for increasing said second queue limit when data transfer from the application to the queue is enabled and the amount of queued data in the queue is less than a predetermined data channel starvation threshold; and means for decreasing said second queue limit if, after data transfer from the application to the queue becomes enabled and an amount of queued data the same as said second queue limit has been communicated from the queue to the data channel, the amount of queued data in the queue is greater than a predetermined threshold. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for communicating data from an application resident at a node of a network, the node including a communications buffer having a buffer storage capacity, the system comprising:
-
a queue, occupying portions of the communications buffer, which queues an amount of data from the application; a data channel which communicates queued data from said queue at a data flow rate; application data transfer controlling means, responsive to said queue, for disabling data transfer from the application to said queue when the amount of queued data in said queue is greater than a first queue limit and for enabling data transfer from the application to said queue when the amount of queued data in said queue is less than a second queue limit; queue limit determining means, responsive to said queue and to said application data transfer controlling means, for dynamically and automatically determining said first and second queue limits based upon multiple criteria including at least the amount of queued data queued in said queue, the data flow rate of said data channel, the buffer storage capacity and the state of said application data transfer controlling means.
-
-
12. A system for communicating data from an application resident at a node of a network, the node including a communications buffer having a buffer storage capacity, the system comprising:
-
a queue, occupying portions of the communications buffer, which queues an amount of data from the application; a data channel which communicates queued data from said queue at a data flow rate; application data transfer controlling means, responsive to said queue, for disabling data transfer from the application to said queue when the amount of queued data in said queue is greater than a first queue limit and for enabling data transfer from the application to said queue when the amount of queued data in said queue is less than a second queue limit; queue limit determining means, responsive to said queue and to said application data transfer controlling means, for dynamically and automatically determining said first and second queue limits from the amount of queued data queued in said queue, the data flow rate of said data channel, the buffer storage capacity and the state of said application data transfer controlling means; wherein said data channel communicates queued data from said queue in bursts during a plurality of burst intervals, each burst including a predetermined amount of data; and wherein said queue limit determining means comprises; means, responsive to said queue and said application data transfer controlling means, for increasing said first queue limit when data transfer from the application to said queue is disabled and the amount of queued data in said queue is less than the buffer storage capacity; means, responsive to said queue and said application data transfer controlling means, for decreasing said first queue limit when data transfer from the application to said queue is enabled and the data flow rate of said data channel is decreased; means, responsive to said queue and said application data transfer controlling means, for increasing said second queue limit when data transfer from the application to said queue is enabled and the amount of queued data in said queue is less than a predetermined data channel starvation threshold; and means, responsive to said queue and said application data transfer controlling means, for decreasing said second queue limit if, after data transfer from the application to said queue becomes enabled and an amount of queued data the same as said second queue limit has been communicated from said queue to said data channel, the amount of queued data in said queue is greater than a predetermined threshold. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of controlling data transfer from an application resident at a node of a network to a queue for a data channel which communicates data from the node, the queue including an amount of queued data and occupying portions of a communications buffer having a buffer storage capacity, the data channel communicating queued data at a data flow rate, the method comprising the steps of:
-
disabling transfer of data from the application to the queue when the amount of queued data in the queue is greater than a first queue limit; enabling transfer of data from the application to the queue when the amount of queued data in the queue is less than a second queue limit; dynamically and automatically determining the first and second queue limits based on multiple criteria including at least the amount of queued data queued in the queue, the data flow rate of the data channel, the buffer storage capacity and whether data transfer from the application is enabled.
-
-
22. A method of controlling data transfer from an application resident at a node of a network to a queue for a data channel which communicates data from the node, the queue including an amount of queued data and occupying portions of a communications buffer having a buffer storage capacity, the data channel communicating queued data at a data flow rate, wherein the data channel communicates queued data in bursts including a predetermined amount of data during a plurality of burst intervals, the method comprising the steps of:
-
disabling transfer of data from the application to the queue when the amount of queued data in the queue is greater than a first queue limit; enabling transfer of data from the application to the queue when the amount of queued data in the queue is less than a second queue limit; and dynamically and automatically determining the first and second queue limits based on the amount of queued data queued in the queue, the data flow rate of the data channel, the buffer storage capacity and whether data transfer from the application is enabled; wherein said step of determining the first and second queue limits comprises the steps of; increasing the first queue limit when data transfer from the application to the queue is disabled and the amount of queued data in the queue is less than the buffer storage capacity; decreasing the first queue limit when data transfer from the application to the queue is enabled and the data flow rate of the data channel is decreased; increasing the second queue limit when data transfer from the application to the queue is enabled and the amount of queued data in the queue is less than a predetermined data channel starvation threshold; and decreasing the second queue limit if, after data transfer from the application to the queue becomes enabled and an amount of queued data the same as the second queue limit has been communicated from the queue to the data channel, the amount of queued data in the queue is greater than a predetermined threshold. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
Specification