An apparatus and method provide virtual memory mapping and transaction
management in an object-oriented database system having a database for
permanently storing data, a cache memory for temporarily storing data,
and a processing unit which runs application programs which request data
using virtual addresses. The system performs data transfers in response
to memory faults resulting from requested data not being available at
specified virtual addresses and performs mapping of data in cache memory.
The database includes pointers containing persistent addresses, which
pointers are relocated between persistent addresses and virtual
addresses. When a data request is made, either for read or write, from a
client computer in a system, other client computers in the system are
queried to determine if the requested data is cached and/or locked in a
manner inconsistent with the requested use, and the inconsistent caching
is downgraded or the transfer delayed until such downgrading can be
performed.