A method for controlling a data rate for a transfer of data from a first node of a plurality of nodes in a communication system to a second node of the plurality of nodes, the method comprising: determining whether a period of time has expired since an immediately preceding flow control message has been conveyed by the second node to the first node; when the period of time has expired, determining a plurality of flow control parameters comprising a current occupancy of a buffer of the second node, an upper threshold for an occupancy of the buffer, and a lower threshold for an occupancy of the buffer; determining a desired data rate ( r) based on the determined plurality of flow control parameters; wherein the desired data rate can be used to adjust the data rate; and wherein determining a desired data rate comprises: determining a quantity ( q) corresponding to an amount by which the current occupancy of the buffer exceeds the lower threshold; determining a difference between the upper threshold and the lower threshold; determining a time period ( C '), corresponding to a time period elapsing between conveyance of a next flow control message and the immediately preceding flow control message, based on the formula C ' = ( U-L) / R, wherein is a maximum data rate for a transfer of data over an air interface; and when the quantity ( q) is less than the difference between the upper threshold and the lower threshold and the quantity ( q) is greater than zero, determining a desired data rate ( r) based on the formula r=R-(q / C'). determining whether a period of time has expired since an immediately preceding flow control message has been conveyed by the second node to the first node; when the period of time has expired, determining a plurality of flow control parameters comprising a current occupancy of a buffer of the second node, an upper threshold for an occupancy of the buffer, and a lower threshold for an occupancy of the buffer; determining a desired data rate ( r) based on the determined plurality of flow control parameters; wherein the desired data rate can be used to adjust the data rate; and wherein determining a desired data rate comprises: determining a quantity ( q) corresponding to an amount by which the current occupancy of the buffer exceeds the lower threshold; determining a difference between the upper threshold and the lower threshold; determining a time period ( C '), corresponding to a time period elapsing between conveyance of a next flow control message and the immediately preceding flow control message, based on the formula C ' = ( U-L) / R, wherein is a maximum data rate for a transfer of data over an air interface; and when the quantity ( q) is less than the difference between the upper threshold and the lower threshold and the quantity ( q) is greater than zero, determining a desired data rate ( r) based on the formula r=R-(q / C'). determining a quantity ( q) corresponding to an amount by which the current occupancy of the buffer exceeds the lower threshold; determining a difference between the upper threshold and the lower threshold; determining a time period ( C '), corresponding to a time period elapsing between conveyance of a next flow control message and the immediately preceding flow control message, based on the formula C ' = ( U-L) / R, wherein is a maximum data rate for a transfer of data over an air interface; and when the quantity ( q) is less than the difference between the upper threshold and the lower threshold and the quantity ( q) is greater than zero, determining a desired data rate ( r) based on the formula r=R-(q / C').