A pool of modems is a time-shared resource: there are typically many
more potential users than can simultaneously connect. The most common
instance of modem pools is in telephone-modem-based Internet Service
Providers (ISPs), where modems accept user connections over the
telephone network. When all modems are occupied, no more connections
are allowed and the users attempting to connect receive a busy
signal. Although ISPs strive to avoid busy signals, this is not always
feasible. The most common line of defense is to keep a fixed ratio of
subscribers to modems, with a value of 10:1 sometimes considered safe
for avoiding busy signals. This policy, however, is hard to maintain
consistently (e.g., as usage patterns change in response to marketing
actions) and cannot
always protect fully against busy signals. As an added measure, some
ISPs try to discourage subscribers from constant modem use by setting
usage limits and applying surcharges for exceeding them. An
additional widespread practice is to proactively disconnect users who
have been idle for some fixed time interval or users who have been
connected continuously for some period of time. Recently, Douglis and
Killian [DK99] improved over fixed idle timeout policies with
adaptive proactive disconnections of users. Their technique
varies the idle time threshold for disconnecting a user, based on the
user's past activity patterns.
Although all of the above techniques are valuable for certain
scenarios, they do not acknowledge that, in the most common case, the
cost of allowing a user to stay connected is a function of the current
load. ISPs typically suffer a cost for prolonged usage only
when the modem pool utilization has reached capacity. In other
words, it is commonly of no cost to ISPs to allow users to stay
connected when modems are available. The cost of telephone lines is
usually fixed for ISPs, regardless of usage. Also, the cost of local
phone calls in the US is commonly fixed (or zero) for users,
regardless of call duration. To the best of our knowledge, the only
policy in use that somewhat relates usage limits and current load is
the variable timeout policy: some ISPs have shorter timeouts for
pre-defined ``peak hours'' (e.g., 6pm to midnight). Nevertheless, more
sophisticated schemes are easy to implement and, as we argue,
inconvenience users much less.
In this paper, we examine the case of treating a modem pool as a replacement buffer. That is, users are not disconnected until all modems are occupied. When a new user attempts to connect with all existing modems occupied, there are two possible outcomes: either there are no ``idle'' users currently and the new user will be denied service (busy signal) or one of the idle users will be replaced (i.e., disconnected in favor of the new user). Strictly speaking, this approach is not easy to implement exactly, because busy signals are generated by the telephone network, not the ISP. Nevertheless, as we will explain, the policy can be easily approximated closely in an actual modem pool.
The interesting question in replacement scenarios is how to choose the user to replace. We examine three different replacement algorithms: LRU, CIRG, and RANDOM. The LRU algorithm replaces the user who has been inactive the longest. The CIRG algorithm (for Conditional Inter-Reference Gap) is novel and is inspired by Phalke's work on inter-reference gaps for access prediction in virtual memory systems [Pha95]. In intuitive terms, CIRG attempts to recognize access patterns for individual users and should be a good fit for the modem pool domain. Finally, the RANDOM algorithm selects any idle user for replacement. In Section 3 we discuss in detail the replacement problem for modem pools. The problem is related but different from replacement in other settings (e.g., virtual memory systems). The differences in the problem and in the expected access patterns (e.g., no spatial locality) guide the design of replacement algorithms and we explain what the characteristics of a good replacement algorithm should be.
For our experiments we used three extensive traces of user activity, which cover several distinct circumstances. The results of our simulations show that our approach is much less inconvenient to users than proactive disconnections after a fixed period of inactivity. Similar to the Douglis and Killian work [DK99], our metric for ``inconvenience'' counts ``faults'', that is, disconnections of users who are likely to want to be active again soon. In these terms, disconnecting users only when the modem pool is full results in an order of magnitude fewer faults than a fixed idle timeout policy. More interestingly, however, we show that the choice of replacement algorithm is important. RANDOM has a much higher cost (by over 20% and up to 1000%) than LRU. LRU, in turn, performs worse than CIRG, often by 10% or more. (Both LRU and CIRG turn out to be very good predictors of future idle times.) This shows that the naive approach of disconnecting any idle user when the load is high is far from ideal.
It is an interesting challenge to further quantify the benefits of our approach (or of any other approach to disconnecting idle users). The difficulty is that disconnecting users may encourage them to set up their connection so that it appears to be permanently active. For this reason, although we present results for a wide range of values, we concentrate on a range that guarantees a quality of service similar to that of the trace collection environment. (The natural assumption is that when users are not annoyed, they will not change their behavior.) We show that, for CIRG, good quality of service can be maintained with up to 13% fewer modems than a no-disconnections policy. This result shows that when there are not enough modems (e.g., due to a surge in subscriber numbers) the impact can be softened significantly using our technique.
Our experiments are interesting, however, regardless of the actual economics and current practices in the ISP business. What we are really demonstrating is the kind of activity patterns that the combination of human users and modern Internet tools (e.g., browsers, email clients, etc.) is expected to exhibit. In particular, we analyze which techniques work well for predicting future idle times. These results may be applicable to more contexts than telephone-modem-based ISPs--practically in every case a time-shared resource is accessed interactively by Internet users and we want to predict future inactivity times.