As applications provided over communication networks have evolved, so to have the demands placed on these networks. For many years, packet-based communication networks have operated using the transport control protocol (TCP) to manage and regulate the reliable transmission of packets from a source to a destination. In scenario with multiple flows of data sharing network resources, TCP strives to share these network resources fairly between the flows.
Many web applications are of a “soft real-time” nature, meaning that users are to be served in a timely fashion, for example to meet a service level agreement (SLA). For example, data centers are used to provide many different types of online service or application, such as web search, social networking, retail, advertisements, and recommendation engines. SLAs for these applications often stipulate that requests are to be satisfied within a specified latency target, and when the time expires, responses, irrespective of their completeness, are shipped out from the data center. However, the completeness of the responses directly governs their quality.
Therefore, the soft real-time nature of these web applications (e.g. as provided by datacenters), leads to deadlines being associated with the application traffic. A network data flow is useful, and contributes to application throughput (and operator revenue) if, and only if, it completes within its deadline. Known transport protocols, given their Internet origins, are agnostic to such flow deadlines.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known transport protocols.