A method and apparatus for distributing and synchronizing objects. One or more
embodiments of the invention provide for distributing copies of the objects locally.
By copying objects (including the data and behavior for the object) into local
address space, the object's methods may be executed locally thereby avoiding excessive
network traffic. The state of the various object copies across a network may not
be synchronized due to local changes and modifications. To synchronize the objects,
one or more embodiments of the invention provide for the use of a policy that specifies
conditions as to when objects are synchronized. Embodiments of the invention provide
flexibility in setting the policy to accommodate varying applications. For example,
a policy may provide for synchronization that is based temporally (e.g., every
10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization
based on the type or number of messages transmitted. In one or more embodiments,
a default policy may be utilized that provides for the synchronization of local
objects whenever a client issues a request from the remote server. In such an embodiment,
the remote server transmits any updated object information when it responds to
the local object request. The updated object information may be utilized to synchronize
the objects.