Claims
- 1. A method for managing replicated and migration capable session state for a Java application, comprising the operations of:
executing a Java application on a server, the Java application including multiple entity beans; and executing a replicated state manager, wherein the replicated state manager includes program instructions for managing a replicated and migration capable session state of the Java application using an in-memory database within a Java server process, and wherein the replicated state manager further includes program instructions for replicating the in-memory state of the Java application to a replicated state server.
- 2. A method as recited in claim 1, wherein the replicated state server is a memory replicated state server.
- 3. A method as recited in claim 1, wherein the replicated state server is a disk replicated state server.
- 4. A method as recited in claim 1, further comprising the operation of using state replication to different types of state servers to achieve high availability for the Java application.
- 5. A method as recited in claim 4, further comprising the operation of recovering state from the state servers during application failure.
- 6. A method as recited in claim 5, further comprising the operation of configuring checkpoints using checkpoint policy.
- 7. A method as recited in claim 1, further comprising the operation of storing a state of the entity bean using a state object.
- 8. A method as recited in claim 7, wherein the state object is an in-memory object managed by the replicated state manager with a J2EE server process.
- 9. A method as recited in claim 8, further comprising the operation of defining a logical separation between the application and the state objects.
- 10. A method as recited in claim 9, further comprising the operation of updating and tracking changes for checkpoint mechanism to the state objects in response to changes in the state of the application.
- 11. A system for managing replicated state for a Java platform, comprising:
an application part having an entity bean object; a managed state part having a first state object, wherein the first state object stores a state of the entity bean object within a memory address space of a J2EE server process; and a replicated state server that stores a replica of the first state object.
- 12. A system as recited in claim 11, wherein the replicated state server is a memory replicated state server.
- 13. A system as recited in claim 11, wherein the replicated state server is a disk replicated state server.
- 14. A system as recited in claim 11, wherein a logical separation is defined between the application part and the managed state part.
- 15. A system as recited in claim 11, wherein a replicated state manager tracks updates to the state object in response to changes in the state of the entity bean object as part of a transaction.
- 16. A system for managing replicated state for a Java platform, comprising:
an application part having an entity bean object and a related entity bean object; a managed state part having a first state object and second state object, wherein the first state object stores a state of the entity bean object, and wherein the second state object stores a state of the related entity bean object, and wherein the managed state part maintains a relationship between the entity bean object and the related entity bean object; and a replicated state server that stores a replica of the first state object and a replica of the second state object.
- 17. A system as recited in claim 16, wherein the replicated state server is a memory replicated state server.
- 18. A system as recited in claim 16, wherein the replicated state server is a disk replicated state server.
- 19. A system as recited in claim 16, wherein a logical separation is defined between the application part and the managed state part.
- 20. A system as recited in claim 16, wherein a replicated state manager tracks updates to managed state objects for issuing checkpoints in response to changes in the state of the entity bean object and the related entity bean object as part of a transaction.
- 21. A system as recited in claim 20, wherein the application part maps to a logical schema archive, and wherein the managed state part maps to a physical schema archive.
- 22. A system as recited in claim 21, wherein the logical schema archive and the physical schema archive are created in a repository during pre-deployment.
- 23. A system as recited in claim 22, wherein the replicated state manager uses the logical schema archive and the physical schema archive at runtime to create the application part and the managed state part with a J2EE server process.
- 24. A system as recited in claim 23, wherein an architecture of the replicated state server can be used to plug in a high-performance database server for managing replicated state.
- 25. A system as recited in claim 24, wherein the replicated state manager is capable of performing as a transactional resource manager using an in-memory state manager, whereby high throughput is achieved for transactions.
- 26. A system as recited in claim 25, wherein the replicated state manager uses a transaction model to manage the checkpoints of the replicated state.
- 27. A system as recited in claim 26, the managed state part allows a transaction to proceed when state servers are temporarily unavailable.
- 28. A system as recited in claim 16, further including a configurable checkpoint mechanism that is configured using a checkpoint policy.
- 29. A system as recited in claim 28, wherein the checkpoint mechanism is configured to be synchronous.
- 30. A system as recited in claim 28, wherein the checkpoint mechanism is configured to be asynchronous.
- 31. A system as recited in claim 28, wherein the checkpoint mechanism is configured to be boxcarried.
- 32. A system as recited in claim 28, wherein the checkpoint mechanism is configured to be single transaction.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to (1) U.S. patent application Ser. No.______ (Attorney Docket No. SUNMP002A), filed Mar. 19, 2001, and “Method and Apparatus for Providing Application Specific Strategies to a Java Platform including Start and Stop Policies,” and (2) U.S. patent application Ser. No.______ (Attorney Docket No. SUNMP002B), filed Mar. 19, 2001, and entitled “Method and Apparatus for Providing Application Specific Strategies to a Java Platform including Load Balancing Policies.” Each of these related application is incorporated herein be reference.