The distributed object handling code. This code locates distributed objects in order to invoke methods. It also automatically migrates and replicates objects based on runtime usage statistics. It provides distributed locks, in support of transactions.

The basic distributed object support is provided by the classes CanonicalizingLRSet, CreateObjMsg, CreateObjReply, GlobalObj, GlobalObjCopy, IllegalLockOwnerException, InconsistentStateException, KanObject, Lock, NoSuchKanObjectException, ObjectID, ObjectInfo, ObjectMgr, and UnlockMsg.

Support for replicating and migrating objects is provided by the classes CannotFetchObjectException, CopyObjMsg, CopyObjReply, GeneralProtocol, MigratoryHomeProtocol, MigratoryProtocol, MoveObjMsg, NewReplMsg, Protocol, ReplicaDropMsg, and ReplicaProtocol.

Support for guards and guarded transactions is provided by the classes ChangedObjectException, GuardCondition, LockMsg, LockRequest, UnsatisfiedGuardException, and WoundWaitException.