FLOWS: Performance Guarantees in Best
Effort Delivery Systems
Douglas Comer Rajendra Yavatkar
Computer Science Department
West Lafayette, IN 47907
July 1, 1988
A best effort delivery system provides a connectionless, datagram service in which the packets may be delayed or dropped in the presence of congestion. The underlying network does not make any guarantees about performance seen by an application. Performance needs of various applications differ greatly and some of the applications such as packet voice and video have strict performance limits.
Existing network architectures and protocols do not make provisions for applications to specify their performance needs, and communication architectures do not have mechanisms that satisfy and guarantee performance needs. We introduce a network level communication abstraction called flow. A flow is a communication channel that has specific performance characteristics associated with its traffic. The underlying delivery system guarantees to meet performance needs of a flow once it accepts a flow request. Upper layers use flows to implement high performance applications and transport level protocols.
In this paper, we describe the concept of flows in detail and describe algorithms to implement flows in a high speed packet switched network under development at Purdue.