The availability of server is a key factor in improving client/server system performance. The most promising approach in this regard is to use multiple replicated servers. However, the blocking problem is a bottleneck in replicated data update for this approach. In this paper, a non-blocking independently replicated data update method and a reconciliation mechanism to reach agreement at those servers not committed because of the failure are presented.