One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects 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. 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.
Here’s Apple’s background on the invention: “In a computer, applications, information, and processes may be controlled and executed by objects. Such objects may contain information (referred to as data) and may contain methods and applications (referred to as behavior) that can manipulate the data. In a computer network environment, multiple computers are linked together and one computer on a network may contain the object (and its associated data and behavior) that another computer desires to access or utilize.
”To provide the ability for multiple computers on a network to access and utilize an object located on a particular remote computer, a local computer may be provided with a ‘proxy object’ that sends messages to and receives messages from the desired object (referred to as a remote object). However, when numerous computers are linked together (each with their own proxy object), the number of messages generated and transmitted across the network create excessive network traffic such that many applications cannot execute properly. These problems can be better understood by reviewing object oriented programming and networks and how they work.”
The inventors are Patrick Gates, Craig Federighi and Eric Noyau.