On Distributed Communications Series
IV. Priority, Precedence, and Overload
VI. Perishability Control
A communications network can deliver more traffic than a recipient can answer. We wish to prevent oscillation by feeding back processing status as a function of perishability.
First, we shall consider the number of parameters needed to specify the perishability of "messages" of various utilities transmitted in a communications network. Perishability and importance are not synonymous. Inasmuch as we pay for data transmission we assume that we must receive some utility when the message is correctly received by the recipient. The earlier the message arrives, the more useful it will be, as represented in Fig. 8. Such a message might be a telegraph request for a hotel reservation, transmitted while one is rushing out the door to catch an airplane. If the message arrives after the time requested for the reservation, it has a utility of zero. If the message arrives early enough to guarantee a room, then it has a relatively high utility. While we lack a good metric for communications utility, it is sufficient in this discussion to let it be equal to the quantity, 1-P
pb, where Ppb is the probability of sleeping on a park bench. (Perhaps the economist's term "disutility" would be more fitting--the price for which one would be willing to sleep on the park bench.) Only two parameters of specification were needed to provide a reasonable measure of the value of the communication as a function of time:
- Peak value of utility at t 0 (Point A in Fig. 8);
- Last time the message had any value (Point B).
A second message example, illustrated in Fig. 9, is "I am bringing a guest home for dinner tonight." Here, three parameters of specification would be useful:
- Peak value of utility at t = 0 (Point A);
- Last time the message had any value (Point B);
- Last time the message had a high value of utility (Point C).
Figure 10 shows the value of instantaneous utility for three different messages: a message to initiate a large long-term project; a message to reserve a hotel room; and a message saying, "Merry Christmas." Only three points are needed to approximate the shape of each of these curves. We may, for example, ask the three questions:
- How "important" is the message?
- When would we like the message delivered?
- When is the latest time the message would be of any value?
While it is possible to think of examples that require more than three specification parameters to delineate the instantaneous utility curve, three will suffice for our purpose. If the communications network knows these few parameters for all traffic in the network, it will be able to perform a rather sophisticated control function. Consider the narrow-funnel-neck problem, where many communications links terminate at a single individual. A communications system may have a capability of delivering more messages which need to be processed than a single end individual can handle. In our future communications system we seek to automatically inform the sender not only that the end addressee is busy, but that he has a processing backlog of an expected value of K minutes.
If this predicted time is acceptable to the sender, he will do nothing. Otherwise, he could increase his precedence indicator and try again.
In Fig. 11, Messages 101-105 arrive sequentially at an end receiver who requires more time to process messages than the time interval between receipt; i.e., he is overloaded. The question then becomes one of determining the best order for processing these messages. For example, we could use the conventional first-in, first-out processing method. Let us consider the alternative of computing the integral of the peak utility of all messages awaiting attention and ordering the messages in descending sequence of the integrals of peak utility. Thus, the end addressee receiver sequentially picks out what we hope will be the most urgent messages of the set requiring attention. If equipment at the receiver observes the length of time it takes to process each message, it then can heuristically estimate the time when it will be able to accommodate each stacked message. Thus, the sender can be immediately informed of the expected time of action. Even more important, however, is the receipt of an immediate response that the end addressee will not be able to take action within the zone of utility. For example, Fig. 12 shows many messages with different values of utility, all directed to a single human bottleneck. Each message arrives with a zero urgency level, but the level rises in proportion to the urgency, until the item is either processed or the point is reached at which the message is too old to be of any value. Thus, the sender can be immediately informed of whether and when he can communicate to the addressee, allowing him an opportunity to take alternative action if necessary. While only the end addressee ever really knows what is really important, this feature would allow a major pre-filtering of messages to be processed by the receiver so that the receiver will be able to spend the most time on the most important of the important tasks demanding his attention.