Claims
- 1. In a clustered data processing system where a first computer system includes an in-memory object and a second computer system includes a replica state of the in-memory object, a system for replicating a current state of the in-memory object comprising:
a previously replicated state of the in-memory object maintained in the first computer system; difference logic for determining difference values between the current state and the previously replicated state; and communication logic for transmitting the difference values to the second computer system to modify the replica state with the difference values.
- 2. The system of claim 1 further including encoding logic for generating replication instructions, associated with the difference values, that instruct the second computer system how to modify the replica state.
- 3. The system of claim 1 further including replication logic having a data serializer to serialize the current state of the in-memory object.
- 4. The system of claim 1 wherein the previously replicated state is stored in one or more byte arrays.
- 5. The system of claim 1 wherein the system is embodied as computer executable instructions stored on a computer-readable medium.
- 6. The system of claim 1 wherein the in-memory object is an object in an enterprise application.
- 7. An article of manufacture embodied in a computer-readable medium for use in a clustered computer system for replicating a current state of an object data where one or more modifications have changed the object data from a previous state, the article of manufacture comprising:
first computer executable instructions for causing a computer to determine differences between the current state and the previous state of the object data; and second computer executable instructions for causing a computer to generate one or more replication instructions for instructing another computer to replicate the current state of the object data from the previous state based on the differences.
- 7. The article of manufacture as set forth in claim 6 further including third computer executable instructions for causing a computer to serialize the object data into the current state.
- 8 The article of manufacture as set forth in claim 6 further including fourth computer executable instructions for causing a computer to maintain the previous state in a serialized form.
- 9 The article of manufacture as set forth in claim 6 wherein the first computer executable instructions include instructions that apply a difference algorithm to determine the differences between the current state and the previous state.
- 10. The article of manufacture as set forth in claim 9 wherein the difference algorithm is based on a longest common subsequences algorithm.
- 11. The article of manufacture as set forth in claim 6 further including fifth computer executable instructions for causing a computer to transmit the replication instructions and the differences to one or more computers clustered together such that the object data may be replicated in the one or more computers without receiving the current state of the object data.
- 12. A method of communicating object data between nodes in a clustered data processing system, the method comprising the steps of:
maintaining a current state of the object data in memory in a first node in the clustered data processing system; after a portion of the object data is modified, determining the portion modified; and transmitting the portion modified to one or more other nodes in the clustered data processing system in order to replicate the current state of the object data.
- 13. The method as set forth in claim 12 further including generating instruction codes to be transmitted with the portion modified where the instruction codes instruct the one or more other nodes how to replicate the current state.
- 14. The method as set forth in claim 12 further including serializing the object data before the transmitting step.
- 15. The method as set forth in claim 14 further including:
serializing the current state of the object data; serializing a modified state of the object data after the portion is modified; and applying a difference algorithm between the serialized states to determine the portion modified.
- 16. The method as set forth in claim 15 wherein the applying step includes applying a longest common subsequences algorithm.
- 17. A clustered data processing system comprising:
a plurality of nodes clustered in a communication network where each of the nodes includes: replication logic for replicating an in-memory object to one or more other nodes; a previously replicated state of the in-memory object maintained by the replication logic where the previously replicated state is a state that has been replicated on the one or more other nodes; a current object state of the in-memory object; difference logic for determining differences between the current object state and the previously replicated state; and encoding logic for generating replication codes based on the differences where the one or more other nodes can replicate the current object state with the replication codes without receiving the current object state.
- 18. The clustered data processing system as set forth in claim 17 further including communication logic for transmitting and receiving replication codes between the plurality of nodes for creating replica states.
- 19. The clustered data processing system as set forth in claim 17 wherein the current object state and the previously replicated state are serialized forms of the in-memory object.
- 20. The clustered data processing system as set forth in claim 19 wherein the replication logic includes logic for serializing the current object state and the previously replicated state.
- 21. The clustered data processing system as set forth in claim 17 wherein the difference logic includes logic for applying a difference algorithm.
- 22. The clustered data processing system as set forth in claim 17 further including decode logic for decoding the replication codes to create a replica state based on the differences.
- 23. The clustered data processing system as set forth in claim 17 wherein the replication logic includes means for replicating the in-memory object.
- 24. The clustered data processing system as set forth in claim 17 wherein the clustered data processing system includes clustered enterprise applications.
RELATED APPLICATIONS
[0001] The present application is related to co-pending U.S. patent application entitled “Data Replication System and Method for Clustered Systems,” inventor Kevin K. Chang, attorney docket number 27252-08, filed on Nov. 19, 2002, serial number unknown, and assigned to the present assignee, which is incorporated herein by reference.