SURF (Fault Tolerance by Replication with Universal Services) is a Java library replication service for arbitrary deterministic objects. In crash situations objects can still be accessed with replication transparent to the application developer.