A
system capable of dynamically reserving bandwidth and adjusting bandwidth reservations for active sessions of data communication in a data communications device is provided. The
system generally separates the operation of
bandwidth allocation and adjustment from the operation of
data transport through the device, thereby allowing bandwidth reservations and adjustments to be made without disturbing sessions of data communication that are actively being transported through the device. The
system can accept requests to allocate or reserve bandwidth in a data communications device using
bandwidth reservation protocols such as RSVP. The reservation requests create sender state data that can be used to compute
resource allocation data. The
resource allocation data can be used to
label data storage locations in a data storage mechanism according to the required bandwidth reservations. A
data scheduling apparatus, which is ignorant of particular sessions and specific amounts of reserved bandwidth, examines data and deposits data into data storage locations having a
label corresponding to a session identification specified in the data, if any. If an unknown or no session identification is specified in the data, the data scheduler deposits data into a data storage location that is unlabeled or that has an unreserved
label. Thus session bandwidth is determined by the percentage of
labeled data storage locations for the session. Changes in bandwidth reservations are reflected in the separate operation of alterations made in the data storage labeling scheme, and do not affect the data scheduler, or data dequeuing mechanisms, thus allowing data sessions to continue without interruption during bandwidth adjustments.