Patent ID: 8102865

Claim:
At a terminal server computer system, a method for allocating network bandwidth to servicing a plurality of different clients, including one or more client computer systems and/or external services interacting with the terminal server computer system in a plurality of corresponding terminal server sessions, the method comprising: an act of calculating available bandwidth of the terminal server to satisfy client related operations and data transfers; an act of identifying a specified time period to wait prior to recalculating the available bandwidth of the terminal server to satisfy the client related operations and data transfers, the specified time period comprising a queue flushing cycle, the queue flushing cycle indicating a duration of time to spend flushing data from a plurality of queues at the terminal server prior to the recalculation of the available bandwidth of the terminal server; an act of calculating and allocating queue time periods from the queue flushing cycle to each of the plurality of queues which are utilized for flushing at least a portion of each of the corresponding plurality of queues containing data during the queue flushing cycle to one or more corresponding clients so as to more evenly allocate available terminal server bandwidth among the plurality of different client terminal server sessions, wherein said calculating the queue time periods is based on the number of queues that contain data and the queue flushing cycle, each of the queue time periods indicating how long each corresponding queue containing data is to be flushed during the queue flush cycle; an act of recalculating available bandwidth of the terminal server to satisfy client related operations and data transfers; and an act of recalculating and reallocating the queue time periods from the queue flushing cycle to each of the plurality of queues which are utilized for flushing the at least said portion of each of the corresponding plurality of queues containing data during the queue flushing cycle to the one or more corresponding clients.