One of the first necessary steps for implementing usage-based pricing (either for congestion control or multiple service class allocation) is to measure and account for usage. Accounting poses some serious problems. For one thing, packet service is inherently ill-suited to detailed usage accounting, because every packet is independent. As an example, a one-minute phone call in a circuit-switched network requires one accounting entry in the usage database. But in a packet network that one-minute phone call would require around 2500 average-sized packets; complete accounting for every packet would then require about 2500 entries in the database. On the NSFNET alone nearly 60 billion packets are being delivered each month. Maintaining detailed accounting by the packet similar to phone company accounting may be too expensive.
Another accounting problem concerns the granularity of the records.
Presumably accounting detail is most useful when it traces traffic to
the user. Certainly if the purpose of accounting is to charge prices
as incentives, those incentives will be most effective if they affect
the person actually making the usage decisions. But the network is at
best capable of reliably identifying the originating host computer
(just as phone networks only identify the phone number that placed a
call, not the caller). Another layer of expensive and complex
authorization and accounting software will be required on the host
computer in order to track which user accounts are responsible for
which packets.
Imagine, for instance, trying to
account for student e-mail usage at a large public computer cluster.
One interesting approach has been tested and reported by [Edell et al. 1995]. They found that most traffic could be treated as connection-oriented by trtacking the setup and tear-down of TCP sessions. On that basis, they were able to collect real-time usage accounting data on two T-1 lines leaving the UC Berkeley campus, and to introduce a pilot billing server. Another tool is NetTraMet, which has been used in New Zealand for several years to do network accounting.
Accounting is more practical and less costly the higher the level of aggregation. For example, the NSFNET collected some information on usage by each of the subnetworks that connect to its backbone (although these data are based on a sample, not an exhaustive accounting for every packet). Whether accounting at lower levels of aggregation is worthwhile is a different question that depends importantly on cost-saving innovations in internetwork accounting methods.