We define progress as the application-specific notion of throughput.
Smooth progress means even progress with low jitter.
Examples of such system misbehavior include an audio application skipping, a CD-Recordable drive buffer underflowing, a windowing system's mouse mistracking, or a video player skipping frames. In order to understand the requirements and attributes of real-rate applications, it is useful to describe how they have been built in the past. Existing real-rate applications include web servers, video players, CD writers, device drivers, and sensor processors. The goal of a real-rate application is to match the processing rate requirements of an externally clocked component. For example, the rate requirement of a web server is to serve web pages at the same rate as incoming requests.