While a goal of C-to-C applications is to maintain congestion responsiveness on an aggregate level, how this goal is realized is left entirely to the application. The approach of CP is to avoid the use of traffic shaping or packet scheduling mechanisms at the AP, but instead to provide application endpoints with bandwidth availability ``hints'' and other information about changing network conditions. An application may then apportion bandwidth among endpoints by configuring them to respond to these hints in ways which meet the objectives of the application as a whole.
For example, a C-to-C application may configure secondary streaming endpoints to reduce their sending rate, or stop sending altogether, in response to a drop in available bandwidth below a particular threshold value. At the same time, a primary stream endpoint may continue to send at its original rate, and a control endpoint may increase its sending rate somewhat in order to transmit important commands telling the receive side how to respond to the change. Despite these differences in response behavior, the aggregate bandwidth usage drops appropriately to match the bandwidth availability hint given.
CP provides a C-to-C application with the mechanisms needed to make coordinated adaptation decisions which reflect the current state of the network and the application's objectives. We believe it unnecessary to provide additional mechanisms which enforce bandwidth usage among endpoints since each belongs to the same application and thus shares the same objectives. In addition, endpoint configuration may be complex and change dynamically making the implementation of an enforcement scheme inherently problematic.