Quality of Service Overview
Flow specifications describe a set of characteristics about a proposed unidirectional flow through the network. An application may associate a pair of flowspecs with a socket (one for each direction) at the time a connection request is made via WSPConnect, or at other times via WSPIoctl with the SIO_SET_QOS/SIO_SET_GROUP_QOS command. Flowspecs indicate parametrically what level of service is required and provide a feedback mechanism for applications to use in adapting to network conditions.
The Windows Sockets 2 flow specificaitons divide QOS characteristics into the following general areas:
-
Source Traffic Description - The manner in which the application's traffic will be injected into the network. This specification is made in terms of the token bucket traffic model and includes values for the token rate, the token bucket size, and the peak bandwidth. (The token bucket model is described further below.) Note that the bandwidth requirement being expressed in terms of a token rate does not mean that hosts must implement token buckets. Any traffic management scheme that yields equivalent behavior is permitted.
-
Latency - Upper limits on the amount of delay and delay variation that are acceptable.
-
Level of service guarantee - Whether or not an absolute guarantee is required as opposed to best effort. Note that providers which have no feasible way to provide the level of service requested are expected to fail the connection attempt.
-
Provider-specific parameters - The FLOWSPEC itself can be extended in ways that are particular to specific providers.