Dave Clark (MIT) presented the concept of service allocation profiles. This is a means by which it is possible for different users to obtain different service from the Internet, especially in times of congestion. It makes it possible to control/predict what that service is, and for users and providers to understand what they're ageeed to.
Define for each user a service profile that describes that pattern of traffic he wants to send during busy periods. That traffic is then passed through a `profile meter' which tags packets that fit within the profile. In each router, if congestioon occurs, preferably drop out (of profile) packets, using a varient of RED. Hence enforcement of policy occurs only when the network is congested (it doesn't matter at other times). This only affects network behaviour when the network is congested. It also relys of the flows slowing down when 'out' packets are dropped. This is true for TCP, but many UDP flows don't currently react. Hence, UDP flows loose badly if they exceed their profile. Note: we use only one bit per packet, and put the rest of the smarts in the profile meter.
This gives a simple mechanism that can provide a range of services to the users. This mechanism is comprised of a single mechanism inside the network, with a range of services implemented at `boundaries'. This achieves a separatation of mechanism and policy, which is essential for scalability.
One example of the operation of this is to emulate a link of fixed capacity. This is a simple, easy to explain, service which is useful in many cases. Even with such a simple service, a number of issues are involved:
This is a sender based scheme. An alternative exists which allows the receiver to specify the service profile.
A number of things must be standardised before this scheme can be deployed: