Abstract:
In accordance with a method and apparatus for managing aggregate flows of data in a differentiated services (DS) network, fairness issues are improved by enforcing congestion control at the edges of the DS in a TCP-friendly manner network, rather than relying on congestion to accumulate at the core. This is done by establishing a credit system for each aggregate flow through the edge. Only if credit is available for the flow, will data from an edge node be forwarded to the edge node's DS traffic conditioner where the data packets can be marked using DiffServ labels. When credit is not available, the data will be queued at the edge node. Each time data belonging to an aggregate flow is forwarded to the traffic conditioner, the amount of credit for the flow is decremented. Credit for the flow is incremented only when control packets can be inserted into the flow. Specifically, the present invention establishes control flows associated with each aggregate flow. A control packet (i.e. a header packet) is injected into the flow for every fixed amount of data belonging to the flow. Credit generation, and hence the queueing of aggregate flow data at the edge, is thus determined by the state (or the congestion window) of the associated control flow.