A variety of schemes have been proposed for charging for data access. Few of these schemes are supported by conventional operating systems, although those systems may permit the measurement of interpretive access to data. We discuss here some schemes that have been suggested and a few that have been implemented in KeyKos to charge for access to data.

These schemes have in common that they can:

Segment Interface

We presume here the sort of data that might be stored in a segment or file, constant or not. Some program is supplied by the data buyer and a segment is supplied by the seller. It is presumably read-only.
Duration
A simple scheme is to charge by the unit of time. This can be generalized by changing the rate dynamically. It can also be modulated as in turning off access during certain hours.
Access can be canceled by invoking a node key to a segment node.
Charge by some measure of reads to the data.
I don’t propose to count the loads to the segment, but clusters (in time) of accesses to a page (a cluster in space) can be counted. For a slowly changing data base we may count versions of a page so the reader is never charged twice for looking at the same version of a page.
A segment keeper is required to produce these measurements.
Delayed
Sometimes an owner of dynamic data segments his market by putting a higher price on prompt data at than delayed data. It is not clear that capability systems bring anything special to this tactic.
Data Snapshots
Virtual copies of a segment may be made. This may be added value (for data coherency) or degraded value for a reduced price.
KeyKos can provide such copies virtually so that the cost of provision is proportional to the number of pages changed in the underlying segment during the lifetime of the copy. Keykos provided a virtual snapshot in order to take a checkpoint. (2016) Snapshots may also be used to exploit these opportunities.
Size of Report
With confinement of the buyer’s program, we can price by report size. The factory logic is able to run the buyer’s code in a way that assures the data owner that the cumulative size of the reports from the buyer’s programs to the buyer is available to the seller. Again an escrowed termination condition may be established. This invites data compression games but the limits on this are well known. A crude entropy gauge could be installed to measure the effective report size.
Here are some notes made several years ago on service pricing schemes including some like these. More data metering