Why “Toward”? Are We There Yet?
We simplified the problem to make it tractable:
- Heterogenity of state: we handle Java objects only.
Materialize data from external sources as Java data structures.
- Concurrency control: a hard problem, so we use brute force.
Prototype uses “single shot” reader/writer locking on object groups.
Updates originating at different replicas must be nonconflicting.
Service programmer must help identify points when state is internally consistent (commit points).
“Consistent” class interfaces
Our current solution offers semi-automatic state management for “well-behaved” Java services.