Transport-level protocols at the endpoints are built on top of CP in the same manner that TCP is built on top of IP. CP provides these transport-level protocols with a consistent view of network conditions, including aggregate bandwidth availability, loss rate, and round trip delay measurements. In addition, it informs endpoints of the aggregate bandwidth usage and the current number of flows in the cluster application. A transport-level protocol will in turn use this information, along with various configuration parameters, to determine a data transmission rate and related send characteristics.
In Figure 3, we show several possible transport-level protocols (C-TCP, C-UDP, and C-RTP) which are meant to represent coordinated counterparts to existing protocols. A coordinated version of UDP (C-UDP) simply makes the above information available directly to the application which may modify its sending rate according to an application-specific rule or bandwidth sharing scheme.
A coordinated version of TCP (C-TCP) may consider acknowledgements only as an indicator of successful transfer. The burden of round trip delay determination and congestion detection can be relegated entirely to CP. Send rate adjustments at the transport level are the combined result of configuration information given by the application (e.g., a maximum sending rate), and information on current network conditions as provided by CP.
While C-UDP and C-TCP represent adaptations of familiar transport-level protocols, we believe that other coordinated transport-level protocols are possible. Such protocols will make use of CP information and application semantics to adjust sending rates to meet application-specific objectives.