Using a Relaxed Memory Consistency Model to Support Collaborative Applications