Distributing and synchronizing objects
First Claim
1. A method for synchronizing distributed software objects comprising:
- copying a first object having data and behavior from a first computer across a network to a second computer, creating a second object having at least parts of said data and behavior, wherein said second object is capable of executing without having all parts of said data and behavior of said first object;
executing said second object on said second computer, wherein said executing comprises sending a plurality of messages between said first computer and said second computer, said plurality of messages comprising remote accessing by said second object of an uncopied part of said data and behavior of said first object;
obtaining a policy for synchronizing said first object and said second object between said first computer and said second computer; and
synchronizing said first object and said second object between said first computer and said second computer based on said policy wherein said synchronizing comprises transferring and merging differences between said first object and said second object.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
120 Citations
43 Claims
-
1. A method for synchronizing distributed software objects comprising:
-
copying a first object having data and behavior from a first computer across a network to a second computer, creating a second object having at least parts of said data and behavior, wherein said second object is capable of executing without having all parts of said data and behavior of said first object;
executing said second object on said second computer, wherein said executing comprises sending a plurality of messages between said first computer and said second computer, said plurality of messages comprising remote accessing by said second object of an uncopied part of said data and behavior of said first object;
obtaining a policy for synchronizing said first object and said second object between said first computer and said second computer; and
synchronizing said first object and said second object between said first computer and said second computer based on said policy wherein said synchronizing comprises transferring and merging differences between said first object and said second object. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a first computer;
a software object having data and behavior stored on said first computer;
a second computer configured to obtain a copy of said software object from said first computer, wherein said copy has at least parts of said data and behavior, wherein said second object is capable of executing without having all parts of said data and behavior of said first object by remotely accessing an uncopied part of said data and behavior of said software object on said first computer;
a policy for synchronizing said software object and said copy of said software object; and
code configured to synchronize said software object and said copy of said software object based on said policy, wherein said code configured to synchronize is enabled to transfer and merge differences between said software object and said copy. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising:
-
a computer usable medium having computer readable program code embodied therein configured to synchronize distributed software objects, said computer program product comprising computer readable code configured to;
cause a second computer to obtain a copy of an object having data and behavior from a first computer across a network;
cause said object and copy to exchange a plurality of messages comprising a remote access by said copy of an uncopied portion of said data and behavior of said object;
cause a computer to obtain a policy for synchronizing said object and said copy of said object between said first computer and said second computer; and
cause a computer to synchronize said object and said copy of said object between said first computer and said second computer based on said policy, causing a transfer and merge of differences between said object and said copy. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. An apparatus for synchronizing distributed software objects comprising:
-
means for copying a software object having data and behavior from a first computer across a network to a second computer, creating a copy object having at least parts of said data and behavior;
means for exchanging a plurality of messages between said first object and said copy object, said plurality of messages comprising a remote access by said copy object of an uncopied part of said data and behavior;
means for obtaining a policy for synchronizing said data and behavior between said first computer and said second computer; and
means for synchronizing said data and behavior between said first computer and said second computer based on said policy, wherein said means for synchronizing comprise means for transferring and merging differences between said object and said copy object. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A method for distributing objects, comprising:
-
storing a first object on a first computer, wherein said first object comprises software;
copying said first object over a network to a second computer creating a second object having at least parts of said first object, wherein said first object and said second object exchange a plurality of messages comprising a remote access by said second object of an uncopied part of said first object; and
synchronizing said first object on said first computer and said second object on said second computer based on a policy, wherein said synchronizing comprises transferring and merging differences between said first object and said second object. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A method for distributing objects comprising:
-
maintaining a server object graph comprising a plurality of objects;
populating a client object graph by obtaining a copy of a first object from said server object graph when a previously unused segment of said client object graph is traversed, wherein said copying omits object data of said first object that references another object; and
synchronizing said first object and said copy based on a policy, wherein said synchronizing comprises transferring and merging differences between said first object and said copy. - View Dependent Claims (40, 41)
-
-
42. A system comprising:
-
a server computer having a server object graph comprising a plurality of objects;
a client computer having a client object graph;
computer program code configured to populate said client object graph when a previously unused segment is traversed, by obtaining from said server object graph a copy of a first object associated with said unused segment; and
computer program code configured to synchronize said first object and said copy based on a synchronization policy. - View Dependent Claims (43)
-
Specification